simple 4 gadi atpakaļ
vecāks
revīzija
50fb7a5e90

+ 4 - 5
config/util.js

@@ -19,7 +19,7 @@ export const filter_param = (o) => {
 export const toChinesNum = (num) => {
   let changeNum = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
   let unit = ["", "拾", "佰", "仟", "万"];
-  let sUnit = ["分", "角"];
+  let sUnit = ["角", "分"];
   let newSNum = "";
   let otNum = num;
   num = parseInt(num);
@@ -27,7 +27,7 @@ export const toChinesNum = (num) => {
     let strArr = temp.toString().split("").reverse();
     let newNum = "";
     for (let i = 0; i < strArr.length; i++) {
-      newNum = (i == 0 && strArr[i] == 0 ? "" : (i > 0 && strArr[i] == 0 && strArr[i - 1] == 0 ? "" : changeNum[strArr[i]] + (strArr[i] == 0 ? unit[0] : unit[i]))) + newNum;
+      newNum = (i == 0 && strArr[i] == 0 ? "" : (i > 0 && strArr[i] == 0 && strArr[i - 1] == 0 ? "" : changeNum[strArr[i]] + (unit[i]))) + newNum;
     }
     return newNum;
   }
@@ -37,13 +37,12 @@ export const toChinesNum = (num) => {
     noWan = "0" + noWan;
   }
   if (otNum.toString().split('.').length > 1) {
-    let sNum = otNum.toString().split('.')[1].split("").reverse();
+    let sNum = otNum.toString().split('.')[1].split("");
     for (let i = 0; i < sNum.length; i++) {
-      newSNum = (i == 0 && sNum[i] == 0 ? "" : (i > 0 && sNum[i] == 0 && sNum[i - 1] == 0 ? "" : changeNum[sNum[i]] + (sNum[i] == 0 ? sUnit[0] : sUnit[i]))) + newSNum;
+      newSNum += i > 0 && sNum[i] == 0 && sNum[i - 1] == 0 ? "" : changeNum[sNum[i]] + sUnit[i];
     }
     return overWan ? getWan(overWan) + "万" + getWan(noWan) + '元' + newSNum : getWan(num) + '元' + newSNum;
   } else {
-    console.log(2222222222222222222)
     return overWan ? getWan(overWan) + "万" + getWan(noWan) + '元整' : getWan(num) + "元整";
   }
 }

+ 1 - 1
src/page/baseInfo/components/supply/supplyAdd.vue

@@ -6,7 +6,7 @@
         <p slot="title">新增供应商</p>
         <div slot="extra">
           <Button @click="addGys">保存</Button>
-          <Button @click="cancel">取消</Button>
+          <Button @click="cancel">返回</Button>
         </div>
         <Row class="mainCont">
           <Col span="4" class-name="tables">供应商编码</Col>

+ 1 - 2
src/page/baseInfo/components/supply/supplyEdit.vue

@@ -11,8 +11,7 @@
           </span>
           <!-- <Button v-if="!editing" @click="editing = true">编辑</Button>
           <Button v-else @click="editGys">保存</Button>-->
-          <Button v-if="canEdit" @click="cancel">取消</Button>
-          <Button v-else @click="cancel">返回</Button>
+          <Button @click="cancel">返回</Button>
         </div>
         <Row class="mainCont">
           <Col span="4" class-name="tables">供应商编码</Col>

+ 16 - 23
src/page/purchase/components/balance/balanceAdd.vue

@@ -6,12 +6,9 @@
         <p slot="title">采购结算详情</p>
         <div slot="extra">
           <Button v-if="form.spzt != '1'" @click="toSpjl">查看审批记录</Button>
-          <Button @click="addJs" v-if="form.spzt == '1' || form.spzt == '4'">保存</Button>
-          <Button
-            @click="submitJs"
-            v-if="balanceType == 'edit' && (form.spzt == '1' || form.spzt == '4')"
-          >提交</Button>
-          <Button @click="cancel">取消</Button>
+          <Button @click="addJs" v-if="form.spzt == '1'">保存</Button>
+          <Button @click="submitJs" v-if="balanceType == 'edit' && form.spzt == '1'">提交</Button>
+          <Button @click="cancel">返回</Button>
         </div>
         <Row class="mainCont">
           <Col span="4" class-name="tables">结算申请编号</Col>
@@ -69,7 +66,7 @@
           </Col>
           <Col span="12" class-name="tables">
             <Select
-              :disabled="form.spzt != '1' && form.spzt != '4'"
+              :disabled="form.spzt != '1'"
               clearable
               v-model="form.gys"
               placeholder="请选择供应商(如供应商银行信息不完整,则无法选择)"
@@ -96,7 +93,7 @@
           </Col>
           <Col span="4" class-name="tables">
             <Select
-              :disabled="form.spzt != '1' && form.spzt != '4'"
+              :disabled="form.spzt != '1'"
               v-model="form.gyszh"
               placeholder="请选择供应商账号"
               filterable
@@ -123,12 +120,7 @@
             <span class="mustSpan">*</span>
           </Col>
           <Col span="4" class-name="tables">
-            <Select
-              clearable
-              v-model="form.djlx"
-              :disabled="form.spzt != '1' && form.spzt != '4'"
-              style="width: 95%"
-            >
+            <Select clearable v-model="form.djlx" :disabled="form.spzt != '1'" style="width: 95%">
               <Option
                 v-for="item in djlxList"
                 :value="item.value"
@@ -145,7 +137,7 @@
           <Col span="4" class-name="tables">
             <Input
               v-model="form.shr"
-              :disabled="form.spzt != '1' && form.spzt != '4'"
+              :disabled="form.spzt != '1'"
               placeholder="请输入"
               style="width: 95%"
             />
@@ -161,7 +153,7 @@
           <Col span="4" class-name="tables">
             <InputNumber
               :min="1"
-              :disabled="form.spzt != '1' && form.spzt != '4'"
+              :disabled="form.spzt != '1'"
               v-model="form.tzje"
               placeholder="请输入"
               style="width: 95%"
@@ -197,7 +189,7 @@
           <Col span="4" class-name="upl">附件</Col>
           <Col span="10" class-name="uplf">
             <Upload
-              :disabled="form.spzt != '1' && form.spzt != '4'"
+              :disabled="form.spzt != '1'"
               :headers="uploadHeaders"
               style="width: 80%"
               multiple
@@ -223,7 +215,7 @@
                 :target="item.docUrl ? '_blank' : '_self'"
               >{{ item.fileName }}</a>
               <span
-                v-if="form.spzt != '2' && form.spzt != '3' && form.spzt !='5'"
+                v-if="form.spzt == '1'"
                 style="float: right; cursor:pointer"
                 @click="form.filesList.splice(index, 1)"
               >x</span>
@@ -236,7 +228,7 @@
           <Col span="20" class-name="tables">
             <Input
               v-model="form.sm"
-              :disabled="form.spzt != '1' && form.spzt != '4'"
+              :disabled="form.spzt != '1'"
               placeholder="请输入"
               style="width: 99%"
             />
@@ -249,13 +241,13 @@
         <div slot="extra">
           <Button
             type="primary"
-            :disabled="balanceType == 'add' || (form.spzt != '1' && form.spzt != '4')"
+            :disabled="balanceType == 'add' || form.spzt != '1'"
             @click="addMxShow"
           >新增明细</Button>
         </div>
         <Table :columns="tableColumn" style="width: 100%" :data="tableData" :loading="tableLoading">
           <template slot-scope="{ row, index }" slot="cz">
-            <div v-if="form.spzt == '1' || form.spzt == '4'">
+            <div v-if="form.spzt == '1'">
               <a href="javascript:;" @click="deleteMx(row, index)">删除</a>
             </div>
           </template>
@@ -296,7 +288,6 @@ export default {
       settlementId: "",
       spinShow: true,
       contentShow: true,
-      mrzhShow: false,
       gysGo: true,
       uploadHeaders: {
         token: localStorage.token,
@@ -431,7 +422,9 @@ export default {
     //供应商切换
     gysChange(val) {
       this.gysGo = true;
-      this.mrzhShow = false;
+      if (!val) {
+        return false;
+      }
       let pageStr = `10000/1?gpId=${val}`;
       let postData = {
         gpId: val

+ 1 - 1
src/page/purchase/components/balance/balancePrint.vue

@@ -4,7 +4,7 @@
       <p slot="title">打印采购申请表</p>
       <div slot="extra">
         <Button style="width: 80px" v-print="'#printForm'">打印</Button>
-        <Button @click="$emit('return')" style="width: 80px">取消</Button>
+        <Button @click="$emit('return')" style="width: 80px">返回</Button>
       </div>
       <div id="printForm">
         <div class="head">

+ 1 - 1
src/page/purchase/components/balance/newBPrint.vue

@@ -4,7 +4,7 @@
       <p slot="title">打印采购申请表</p>
       <div slot="extra">
         <Button style="width: 80px" v-print="'#printForm'">打印</Button>
-        <Button @click="$emit('return')" style="width: 80px">取消</Button>
+        <Button @click="$emit('return')" style="width: 80px">返回</Button>
       </div>
       <div id="printForm">
         <div class="head">

+ 60 - 41
src/page/purchase/components/order/orderAdd.vue

@@ -6,15 +6,9 @@
         <p slot="title">采购订单详情</p>
         <div slot="extra">
           <Button v-if="form.spzt != '1'" @click="toSpjl">查看审批记录</Button>
-          <Button
-            @click="submitCgdd"
-            v-if="(orderType == 'edit') && (form.spzt == '1' || form.spzt == '4')"
-          >提交</Button>
-          <Button
-            @click="addCgdd"
-            v-if="form.spzt != '3' && (form.ddzt == '1' || form.ddzt == '2')"
-          >保存</Button>
-          <Button @click="cancel">取消</Button>
+          <Button @click="submitCgdd" v-if="orderType == 'edit' && form.spzt == '1'">提交</Button>
+          <Button @click="addCgdd" v-if="form.spzt == '1'">保存</Button>
+          <Button @click="cancel">返回</Button>
         </div>
         <Row class="mainCont">
           <Col span="4" class-name="tables">订购编号</Col>
@@ -70,11 +64,7 @@
             <span class="mustSpan">*</span>
           </Col>
           <Col span="4" class-name="tables">
-            <Select
-              v-model="form.djlx"
-              style="width: 95%"
-              :disabled="form.spzt == '2' || form.spzt == '3'"
-            >
+            <Select v-model="form.djlx" style="width: 95%" :disabled="form.spzt != '1'">
               <Option
                 v-for="item in djlxList"
                 :value="item.value"
@@ -92,7 +82,7 @@
           <Col span="4" class-name="tables">
             <Input
               v-model="form.cgrlxfs"
-              :disabled="form.spzt == '2' || form.spzt == '3'"
+              :disabled="form.spzt != '1'"
               placeholder="请输入"
               style="width: 95%"
             />
@@ -110,7 +100,7 @@
               type="datetime"
               :options="xdrqOption"
               placeholder="请选择"
-              :disabled="form.spzt == '2' || form.spzt == '3'"
+              :disabled="form.spzt != '1'"
             ></DatePicker>
           </Col>
           <Col span="4" class-name="tables">
@@ -141,7 +131,7 @@
           <Col span="4" class-name="tables">
             <Input
               v-model="form.shr"
-              :disabled="form.spzt == '2' || form.spzt == '3'"
+              :disabled="form.spzt != '1'"
               placeholder="请输入"
               style="width: 95%"
             />
@@ -153,7 +143,7 @@
           <Col span="4" class-name="tables">
             <Input
               v-model="form.shrlxfs"
-              :disabled="form.spzt == '2' || form.spzt == '3'"
+              :disabled="form.spzt != '1'"
               placeholder="请输入"
               style="width: 95%"
             />
@@ -174,7 +164,7 @@
             >
               <Option
                 v-for="item in gysList"
-                :disabled="form.spzt == '2' || form.spzt == '3'"
+                :disabled="form.spzt != '1'"
                 :value="item.gpId"
                 :key="item.gpId"
               >{{ item.gpName }}</Option>
@@ -212,13 +202,13 @@
         </Row>
         <Row class="uplCont" type="flex" justify="center" style="align-items: stretch">
           <Col span="4" class-name="upl">附件</Col>
-          <Col span="10" class-name="uplf">
+          <Col span="6" class-name="uplf">
             <Upload
               :headers="uploadHeaders"
               style="width: 80%"
               multiple
               type="drag"
-              :disabled="form.spzt == '2' || form.spzt == '3'"
+              :disabled="form.spzt != '1'"
               action="/purchase/common/uploadFile"
               :before-upload="beforeUpload"
               :on-success="uploadFilesSuccess"
@@ -232,7 +222,7 @@
               </div>
             </Upload>
           </Col>
-          <Col span="10" class="upl" style="padding: 5px">
+          <Col span="6" class="upl" style="padding: 5px">
             <div v-for="(item, index) in form.filesList" :key="index">
               <a
                 :href="item.docUrl ? item.docUrl : 'javascript:void(0);'"
@@ -240,20 +230,33 @@
                 :target="item.docUrl ? '_blank' : '_self'"
               >{{ item.fileName }}</a>
               <span
-                v-if="form.spzt == '1' || form.spzt == '4'"
+                v-if="form.spzt == '1'"
                 style="float: right; cursor:pointer"
                 @click="form.filesList.splice(index, 1)"
               >x</span>
             </div>
             <p v-if="uploading" style="text-align: center">上传中...</p>
           </Col>
+          <Col span="4" class-name="upl">
+            发票抬头
+            <span class="mustSpan">*</span>
+          </Col>
+          <Col span="4" class-name="upl">
+            <Select v-model="form.fptt" style="width: 95%" :disabled="form.spzt != '1'">
+              <Option
+                v-for="item in fpttList"
+                :value="item.value"
+                :key="item.value"
+              >{{ item.label }}</Option>
+            </Select>
+          </Col>
         </Row>
         <Row class="mainCont">
           <Col span="4" class-name="tables">说明</Col>
           <Col span="20" class-name="tables">
             <Input
               v-model="form.sm"
-              :disabled="form.spzt == '2' || form.spzt == '3'"
+              :disabled="form.spzt != '1'"
               placeholder="请输入"
               style="width: 99%"
             />
@@ -267,7 +270,7 @@
           <Button
             type="primary"
             @click="mxAddShow"
-            :disabled="orderType == 'add' || form.spzt == '2'|| form.spzt == '3'"
+            :disabled="orderType == 'add' || form.spzt != '1'"
           >新增明细</Button>
         </div>
         <Table
@@ -281,7 +284,7 @@
             <InputNumber
               :min="1"
               :precision="2"
-              :disabled="form.spzt == '2' || form.spzt == '3' || row.isCancel == '1'"
+              :disabled="form.spzt != '1' || row.isCancel == '1'"
               v-model="tableData[index].purchaseNum"
               placeholder="请输入"
               style="width: 95%"
@@ -294,7 +297,7 @@
             <InputNumber
               :min="1"
               :precision="2"
-              :disabled="form.spzt == '2' || form.spzt == '3'"
+              :disabled="form.spzt != '1'"
               v-model="tableData[index].price"
               placeholder="请输入"
               style="width: 95%"
@@ -305,7 +308,7 @@
           </template>
           <template slot-scope="{ row, index }" slot="plannedArrivalTime">
             <DatePicker
-              :disabled="form.spzt == '2' || form.spzt == '3'"
+              :disabled="form.spzt != '1'"
               :transfer="true"
               format="yyyy-MM-dd HH:mm:ss"
               type="datetime"
@@ -318,27 +321,27 @@
           </template>
           <template slot-scope="{ row, index }" slot="isNumControl">
             <RadioGroup v-model="tableData[index].isNumControl">
-              <Radio :label="0" :disabled="form.spzt == '2' || form.spzt == '3'">
+              <Radio :label="0" :disabled="form.spzt != '1'">
                 <span>是</span>
               </Radio>
-              <Radio :label="1" :disabled="form.spzt == '2' || form.spzt == '3'">
+              <Radio :label="1" :disabled="form.spzt != '1'">
                 <span>否</span>
               </Radio>
             </RadioGroup>
           </template>
           <template slot-scope="{ row, index }" slot="isTimeControl">
             <RadioGroup v-model="tableData[index].isTimeControl">
-              <Radio :label="0" :disabled="form.spzt == '2' || form.spzt == '3'">
+              <Radio :label="0" :disabled="form.spzt != '1'">
                 <span>是</span>
               </Radio>
-              <Radio :label="1" :disabled="form.spzt == '2' || form.spzt == '3'">
+              <Radio :label="1" :disabled="form.spzt != '1'">
                 <span>否</span>
               </Radio>
             </RadioGroup>
           </template>
           <template slot-scope="{ row, index }" slot="remark">
             <Input
-              :disabled="form.spzt == '2' || form.spzt == '3'"
+              :disabled="form.spzt != '1'"
               :maxlength="200"
               v-model="tableData[index].remark"
               placeholder="请输入"
@@ -350,12 +353,8 @@
             slot="isCancel"
           >{{ row.isCancel == '0' ? '有效' : '已取消' }}</template>
           <template slot-scope="{ row, index }" slot="cz">
-            <div v-if="form.ddzt == '1' || form.ddzt == '2'">
-              <a
-                href="javascript:;"
-                v-if="form.spzt != '2' && form.spzt != '3'"
-                @click="deleteRow(index)"
-              >删除</a>
+            <div v-if="form.spzt == '1'">
+              <a href="javascript:;" v-if="form.spzt == '1'" @click="deleteRow(index)">删除</a>
             </div>
             <div v-if="row.isCancel == '0' && form.spzt == '3'">
               <a href="javascript:;" @click="cancelRow(row, index)">取消</a>
@@ -420,6 +419,7 @@ export default {
         totalPrice: 0, //总价
         sm: "", //说明
         spzt: 1, //审批状态
+        fptt: "", //发票抬头
         sptgsj: "", //审批通过时间
         ddzt: 1, //订单状态
         glsgjh: "", //关联申购计划
@@ -445,6 +445,7 @@ export default {
       cgrList: [{ label: "test", value: 1 }],
       djlxList: [],
       gysList: [],
+      fpttList: [],
       gffzrList: [{ label: "test", value: 1 }],
       uploading: false,
       // 批量设置
@@ -582,6 +583,13 @@ export default {
         this.$Message.error(res.message);
       }
     });
+    getLabelByCode4Purchase({ dictCode: "invoiceTitle" }).then(res => {
+      if (res.status == 200) {
+        this.fpttList = res.data;
+      } else {
+        this.$Message.error(res.message);
+      }
+    });
     selectGoodProviderSelectionList({ isCheck: true }).then(res => {
       this.gysList = res.data;
     });
@@ -670,6 +678,7 @@ export default {
           this.form.gffzr = data.gpcName;
           this.form.gyslxdh = data.gpcPhone;
           this.form.spzt = data.approvalState;
+          this.form.fptt = data.invoiceTitleCode;
           if (data.approvalState == "3") {
             this.tableColumn = [
               {
@@ -889,6 +898,7 @@ export default {
         receivedName: this.form.shr,
         receivedTel: this.form.shrlxfs,
         orderTime: this.form.xdrq,
+        invoiceTitleCode: this.form.fptt,
         // deliveryStartTime: this.form.jhsj[0],
         // deliveryEndTime: this.form.jhsj[1],
         deliveryTime: this.form.jhsj,
@@ -941,7 +951,8 @@ export default {
         "cgrlxfs",
         "shr",
         "shrlxfs",
-        "gys"
+        "gys",
+        "fptt"
       ];
       for (let i in mustArr) {
         if (mustArr[i] == "cgrlxfs") {
@@ -987,6 +998,7 @@ export default {
         receivedName: this.form.shr,
         receivedTel: this.form.shrlxfs,
         orderTime: this.form.xdrq,
+        invoiceTitleCode: this.form.fptt,
         // deliveryStartTime: this.form.jhsj[0],
         // deliveryEndTime: this.form.jhsj[1],
         deliveryTime: this.form.jhsj,
@@ -1104,6 +1116,7 @@ export default {
       this.tableData = [];
       this.deleteIds = [];
       this.orderType = "add";
+      this.form.fptt = "";
       this.spinShow = false;
       this.tableColumn = [
         {
@@ -1260,12 +1273,18 @@ button {
   .upl {
     flex: auto;
     border-right: 1px solid #e4e4e4;
-    &:nth-child(1) {
+    &:nth-child(1),
+    &:nth-child(4) {
       background: #f8f9fb;
       display: flex;
       align-items: center;
       justify-content: center;
     }
+    &:nth-child(5) {
+      display: flex;
+      align-items: center;
+      justify-content: center;
+    }
   }
   .uplf {
     display: flex;

+ 19 - 4
src/page/purchase/components/order/orderPrint.vue

@@ -4,17 +4,18 @@
       <p slot="title">打印采购单</p>
       <div slot="extra">
         <Button style="width: 80px" v-print="'#printForm'">打印</Button>
-        <Button @click="$emit('return')" style="width: 80px">取消</Button>
+        <Button @click="$emit('return')" style="width: 80px">返回</Button>
       </div>
       <div id="printForm">
         <div class="head">
           <img class="logo" src="../../../../assets/images/dgdlogo.png" alt />
           <h2>订购单</h2>
-          <p>东莞市光大物业管理有限公司 DONGGUAN GUANGDA PROPERTY MANAGEMENT CO.,LTD</p>
+          <!-- <p>东莞市光大物业管理有限公司 DONGGUAN GUANGDA PROPERTY MANAGEMENT CO.,LTD</p>
           <p>ADDRESS:广东省东莞市东城街道东骏路东城段1号景湖花园26栋301室</p>
           <p>
             <span style="margin-right: 10px">TEL:0769-22986803</span> MAIL:gdpm@en.gdpmdg.com
-          </p>
+          </p>-->
+          <p v-for="(item, index) in printTitle">{{ item }}</p>
         </div>
         <div class="line"></div>
         <div class="line"></div>
@@ -99,7 +100,7 @@
                   <span class="square" />/现金(约45天付款)。
                 </p>
                 <p>5、供方如向我司相关人员行贿或所供产品出现规格、数量与送货单不符、以假充真等情形的,我司有权按该产品金额“以一罚十”标准要求乙方承担违约责任;如发现有假发票,我司将有权不给予付款并追究其相关法律责任。</p>
-                <p>6、以上价格已包含发票,发票抬头:东莞市光大物业管理有限公司。</p>
+                <p>6、以上价格已包含发票,发票抬头:{{ fptt }}。</p>
                 <p>7、备注:订单日期{{ printData.orderTime ? printData.orderTime.split(' ')[0] : "" }}</p>
               </td>
             </tr>
@@ -127,6 +128,8 @@ export default {
       printData: {
         detailList: []
       },
+      printTitle: [],
+      fptt: "",
       chinesePrice: ""
     };
   },
@@ -137,7 +140,19 @@ export default {
       };
       findPurchaseOrder(postData).then(res => {
         if (res.status == 200) {
+          let arr = [];
           this.printData = res.data;
+          for (let it in res.data.detailList) {
+            if (res.data.detailList[it].isCancel != "0") {
+            } else {
+              arr.push(res.data.detailList[it]);
+            }
+          }
+          this.printData.detailList = arr;
+          let pops = res.data.invoiceTitleDesc.split("|");
+          let tt = pops.pop();
+          this.printTitle = pops;
+          this.fptt = tt;
           if (!res.data.totalPrice) {
             res.data.totalPrice = 0;
             this.chinesePrice = "零元整";

+ 6 - 2
src/page/purchase/components/plan/planAdd.vue

@@ -14,7 +14,7 @@
             @click="submitSgjh"
             v-if="planType == 'edit' && (form.spzt == '0' || form.spzt == '3')"
           >提交</Button>
-          <Button @click="cancel">取消</Button>
+          <Button @click="cancel">返回</Button>
         </div>
         <Row class="mainCont">
           <Col span="4" class-name="tables">计划单据号</Col>
@@ -1058,10 +1058,14 @@ export default {
     },
     tableData: {
       handler(val, name) {
+        // console.log(val, 11111111111111111);
         let total = 0;
         let str = "";
         for (let item in val) {
-          total += val[item].referencePrice * val[item].amount;
+          if (val[item].isCancel) {
+          } else {
+            total += val[item].referencePrice * val[item].amount;
+          }
         }
         this.form.totalPrice = Number(total).toFixed(2);
       },

+ 1 - 1
src/page/purchase/components/plan/planPrint.vue

@@ -4,7 +4,7 @@
       <p slot="title">打印采购申请表</p>
       <div slot="extra">
         <Button style="width: 80px" v-print="'#printForm'">打印</Button>
-        <Button @click="$emit('return')" style="width: 80px">取消</Button>
+        <Button @click="$emit('return')" style="width: 80px">返回</Button>
       </div>
       <div id="printForm">
         <div class="head">

+ 74 - 18
src/page/purchase/components/pool/poolAdd.vue

@@ -13,7 +13,7 @@
             @click="editCgdd"
             v-if="form.spzt == '1' || form.spzt == '' || form.spzt == '4'"
           >保存</Button>
-          <Button @click="cancel">取消</Button>
+          <Button @click="cancel">返回</Button>
         </div>
         <Row class="mainCont">
           <Col span="4" class-name="tables">订购编号</Col>
@@ -183,7 +183,7 @@
         </Row>
         <Row class="uplCont" type="flex" justify="center" style="align-items: stretch">
           <Col span="4" class-name="upl">附件</Col>
-          <Col span="10" class-name="uplf">
+          <Col span="6" class-name="uplf">
             <Upload
               :headers="uploadHeaders"
               style="width: 80%"
@@ -203,13 +203,30 @@
               </div>
             </Upload>
           </Col>
-          <Col span="10" class="upl" style="padding: 5px">
+          <Col span="6" class="upl" style="padding: 5px">
             <div v-for="(item, index) in form.filesList" :key="index">
               <a :href="item.filePath" :download="item.fileName" target="_blank">{{ item.fileName }}</a>
               <span style="float: right; cursor:pointer" @click="form.filesList.splice(index, 1)">x</span>
             </div>
             <p v-if="uploading" style="text-align: center">上传中...</p>
           </Col>
+          <Col span="4" class-name="upl">
+            发票抬头
+            <span class="mustSpan">*</span>
+          </Col>
+          <Col span="4" class-name="upl">
+            <Select
+              v-model="form.fptt"
+              style="width: 95%"
+              :disabled="form.spzt == '2' || form.spzt == '3'"
+            >
+              <Option
+                v-for="item in fpttList"
+                :value="item.value"
+                :key="item.value"
+              >{{ item.label }}</Option>
+            </Select>
+          </Col>
         </Row>
         <Row class="mainCont">
           <Col span="4" class-name="tables">说明</Col>
@@ -316,7 +333,7 @@ import {
 } from "@/service/getData";
 import poolMxAdd from "./poolMxAdd";
 export default {
-  props: ["gysList", "glqyList"],
+  props: ["gysList", "glqyList", "djlxList", "fpttList"],
   components: {
     poolMxAdd
   },
@@ -355,6 +372,7 @@ export default {
         sptgsj: "", //审批通过时间
         ddzt: "", //订单状态
         glsgjh: "", //关联申购计划
+        fptt: "", //发票抬头
         filesList: []
       },
       jhsjOptions: {
@@ -373,7 +391,8 @@ export default {
       },
       glxmList: [],
       cgrList: [{ label: "test", value: 1 }],
-      djlxList: [],
+      // fpttList: [],
+      // djlxList: [],
       gffzrList: [{ label: "test", value: 1 }],
       uploading: false,
       // 批量设置
@@ -503,15 +522,7 @@ export default {
       tableLoading: false
     };
   },
-  created() {
-    getLabelByCode4Purchase({ dictCode: "billType" }).then(res => {
-      if (res.status == 200) {
-        this.djlxList = res.data;
-      } else {
-        this.$Message.error(res.message);
-      }
-    });
-  },
+  created() {},
   methods: {
     //批量设置弹窗
     plszOpen() {
@@ -569,9 +580,6 @@ export default {
         this.form.gyslxdh = sup.gpcPhone;
         // bank开户行   unionpay银行账号
       }
-      // let gys = this.gysList.filter(a => a.gpId == val)[0];
-      // this.form.gffzr = gys.gpcName;
-      // this.form.gyslxdh = gys.gpcPhone;
     },
     //所属区域切换
     ssqyChange() {
@@ -589,6 +597,46 @@ export default {
     },
     //编辑采购订单
     editCgdd() {
+      let mustArr = [
+        "glqy",
+        "glxm",
+        "djlx",
+        "xdrq",
+        "jhsj",
+        "cgrlxfs",
+        "shr",
+        "shrlxfs",
+        "gys",
+        "fptt"
+      ];
+      for (let i in mustArr) {
+        if (mustArr[i] == "cgrlxfs") {
+          if (!phoneFun(this.form[mustArr[i]])) {
+            this.$Message.error("请填写正确的采购人联系方式!");
+            return false;
+          }
+        }
+        if (mustArr[i] == "shrlxfs") {
+          if (!phoneFun(this.form[mustArr[i]])) {
+            this.$Message.error("请填写正确的收货人联系方式!");
+            return false;
+          }
+        }
+        if (!this.form[mustArr[i]]) {
+          this.$Message.error("请将信息填写完整!");
+          return false;
+        }
+        if (this.form[mustArr[i]] == "" || this.form[mustArr[i]].length == 0) {
+          this.$Message.error("请将信息填写完整!");
+          return false;
+        }
+      }
+      if (!this.gysGo) {
+        this.$Message.error(
+          "供应商信息不完整,请完善供应商信息或选择其他供应商!"
+        );
+        return false;
+      }
       for (let i in this.tableData) {
         if (this.tableData[i].purchaseNum <= 0) {
           this.$Message.error("计划明细申购数量不能小于或等于0!");
@@ -623,6 +671,7 @@ export default {
         type: this.form.djlx,
         instruction: this.form.sm,
         attachmentList: this.form.filesList,
+        invoiceTitleCode: this.form.fptt,
         gpId: this.form.gys, //供应商ID
         gpNmae: gpName.length ? gpName[0].gpName : "", //供应商Name
         orderId: this.orderId,
@@ -689,6 +738,7 @@ export default {
           this.form.ddzt = data.orderState;
           this.form.gysmc = data.gpName;
           this.form.jhdd = data.deliveryPlace;
+          this.form.fptt = data.invoiceTitleCode;
           this.requestId = data.requestId;
           this.orderType = "edit";
           for (let item in data.detailList) {
@@ -851,12 +901,18 @@ button {
   .upl {
     flex: auto;
     border-right: 1px solid #e4e4e4;
-    &:nth-child(1) {
+    &:nth-child(1),
+    &:nth-child(4) {
       background: #f8f9fb;
       display: flex;
       align-items: center;
       justify-content: center;
     }
+    &:nth-child(5) {
+      display: flex;
+      align-items: center;
+      justify-content: center;
+    }
   }
   .uplf {
     display: flex;

+ 5 - 9
src/page/purchase/purchaseBalance.vue

@@ -83,13 +83,12 @@
         </template>
         <template slot-scope="{ row, index }" slot="action">
           <div>
-            <a href="javascript:;" @click="editRow(row)">编辑</a>
-            <a href="javascript:;" v-if="row.approvalState == '1'" @click="deleteRow(row)">删除</a>
             <a
               href="javascript:;"
-              v-if="row.approvalState == '1' || row.approvalState == '4'"
-              @click="submitRow(row)"
-            >提交</a>
+              @click="editRow(row)"
+            >{{ row.approvalState == '1' ? '编辑' : '查看' }}</a>
+            <a href="javascript:;" v-if="row.approvalState == '1'" @click="deleteRow(row)">删除</a>
+            <a href="javascript:;" v-if="row.approvalState == '1'" @click="submitRow(row)">提交</a>
           </div>
         </template>
       </Table>
@@ -153,10 +152,7 @@ export default {
       glxmList: [],
       gysList: [],
       sgrList: [],
-      djlxList: [
-        { label: "公区", value: 0 },
-        { label: "内部", value: 1 }
-      ],
+      djlxList: [],
       spztList: [
         { value: 1, label: "未提交" },
         { value: 2, label: "审核中" },

+ 6 - 3
src/page/purchase/purchaseOrder.vue

@@ -103,16 +103,19 @@
         </template>
         <template slot-scope="{ row, index }" slot="action">
           <div>
-            <a href="javascript:;" @click="editRow(row)">编辑</a>
             <a
               href="javascript:;"
-              v-if="row.approvalState == '1' || row.approvalState == '4'"
+              @click="editRow(row)"
+            >{{ row.approvalState == '1' ? '编辑' : '查看' }}</a>
+            <a
+              href="javascript:;"
+              v-if="row.approvalState == '1'"
               @click="submitRow(row.orderId)"
             >提交</a>
             <a href="javascript:;" v-if="row.approvalState == '1'" @click="deleteRow(row)">删除</a>
             <a
               href="javascript:;"
-              v-if="row.orderState != '6' || row.approvalState != '4'"
+              v-if="row.orderState != '6' && row.approvalState != '4'"
               @click="printRow(row)"
             >打印</a>
             <a href="javascript:;" @click="cgddxd(row.orderId)" v-if="row.orderState == '2'">下单</a>

+ 5 - 5
src/page/purchase/purchasePlan.vue

@@ -111,7 +111,7 @@
         </template>
         <template slot-scope="{ row, index }" slot="action">
           <div>
-            <a href="javascript:;" @click="editRow(row)">编辑</a>
+            <a href="javascript:;" @click="editRow(row)">{{ row.applyStatus == '0' ? '编辑': '查看' }}</a>
             <!-- <a href="javascript:;">复制</a> -->
             <a href="javascript:;" v-if="row.applyStatus == '0'" @click="deleteRow(row)">删除</a>
             <a
@@ -119,12 +119,12 @@
               v-if="row.applyStatus == '2' || row.applyStatus == '3'"
               @click="copyRow(row)"
             >复制</a>
-            <a href="javascript:;" @click="printRow(row)">打印</a>
             <a
               href="javascript:;"
-              v-if="row.applyStatus == '0' || row.applyStatus == '3'"
-              @click="submitRow(row)"
-            >提交</a>
+              v-if="row.applyStatus != '3' && row.status != '5'"
+              @click="printRow(row)"
+            >打印</a>
+            <a href="javascript:;" v-if="row.applyStatus == '0'" @click="submitRow(row)">提交</a>
           </div>
         </template>
       </Table>

+ 23 - 6
src/page/purchase/purchasePool.vue

@@ -64,6 +64,8 @@
       @return="addReturn"
       :glqyList="ssqyList"
       :gysList="gysList"
+      :djlxList="djlxList"
+      :fpttList="fpttList"
       v-show="!contentShow"
     />
     <Modal v-model="poolModalShow" title="新增采购订单" :width="900">
@@ -132,8 +134,12 @@
         <Col span="4" class-name="tables">{{ addForm.gffzr }}</Col>
         <Col span="4" class-name="tables">供应商联系电话</Col>
         <Col span="4" class-name="tables">{{ addForm.gyslxdh }}</Col>
-        <Col span="4" class-name="tables"></Col>
-        <Col span="4" class-name="tables"></Col>
+        <Col span="4" class-name="tables">发票抬头</Col>
+        <Col span="4" class-name="tables">
+          <Select v-model="addForm.fptt" style="width: 95%" transfer>
+            <Option v-for="item in fpttList" :value="item.value" :key="item.value">{{ item.label }}</Option>
+          </Select>
+        </Col>
       </Row>
       <div slot="footer">
         <Button @click="poolModalCancel">取消</Button>
@@ -184,7 +190,8 @@ export default {
         shrlxfs: "",
         gys: "",
         gffzr: "",
-        gyslxdh: ""
+        gyslxdh: "",
+        fptt: ""
       },
       gysGo: true,
       ssqyList: [],
@@ -194,6 +201,7 @@ export default {
       yjflList: [],
       ejflList: [],
       djlxList: [],
+      fpttList: [],
       // 表格参数
       tableLoading: false,
       pageTotal: 0,
@@ -329,6 +337,13 @@ export default {
         this.$Message.error(res.message);
       }
     });
+    getLabelByCode4Purchase({ dictCode: "invoiceTitle" }).then(res => {
+      if (res.status == 200) {
+        this.fpttList = res.data;
+      } else {
+        this.$Message.error(res.message);
+      }
+    });
     tbiGoodsCategoryList().then(res => {
       this.allFlList = res.data.data;
       let arr = [];
@@ -417,12 +432,13 @@ export default {
         shrlxfs: "",
         gys: "",
         gffzr: "",
-        gyslxdh: ""
+        gyslxdh: "",
+        fptt: ""
       };
       this.poolModalShow = false;
     },
     poolModalOk() {
-      let mustArr = ["djlx", "xdrq", "jhsj", "shr", "shrlxfs", "gys"];
+      let mustArr = ["djlx", "xdrq", "jhsj", "shr", "shrlxfs", "gys", "fptt"];
       for (let i in mustArr) {
         if (
           this.addForm[mustArr[i]] == "" ||
@@ -453,6 +469,7 @@ export default {
         deliveryTime: this.addForm.jhsj,
         deliveryPlace: this.addForm.jhdd,
         type: this.addForm.djlx,
+        invoiceTitleCode: this.addForm.fptt,
         instruction: "",
         attachmentList: [],
         gpId: this.addForm.gys, //供应商ID
@@ -485,7 +502,7 @@ export default {
               storehouseId: this.tableSelect[i].storehouseId,
               storehouseName: this.tableSelect[i].storehouseName,
               price: Number(this.tableSelect[i].referencePrice),
-              purchaseNum: 0,
+              purchaseNum: Number(this.tableSelect[i].noBilledAmount),
               plannedArrivalTime: dateArr,
               isNumControl: 2,
               isTimeControl: 2,

+ 1 - 1
src/page/purchaseView/allot.vue

@@ -24,7 +24,7 @@
           <Col span="4" class-name="tables">审批状态</Col>
           <Col span="4" class-name="tables">{{ form.allocationState }}</Col>
           <Col span="4" class-name="tables">状态</Col>
-          <Col span="4" class-name="tables">{{ form.allocationStatus }}</Col>
+          <Col span="4" class-name="tables">{{ form.allocationStates }}</Col>
           <Col span="4" class-name="tables">出库日期</Col>
           <Col span="4" class-name="tables">{{ form.outDate }}</Col>
           <Col span="4" class-name="tables">入库日期</Col>

+ 22 - 27
src/page/purchaseView/plan.vue

@@ -143,93 +143,88 @@ export default {
         { label: "内部", value: 1 }
       ],
       tableColumn: [
-        {
-          type: "selection",
-          // width: 60,
-          align: "center"
-        },
         {
           title: "物料编码",
           key: "code",
-          tooltip: "true",
+          tooltip: "true"
           // width: 100
         },
         {
           title: "物料分类",
           key: "firstClassName",
-          tooltip: "true",
+          tooltip: "true"
           // width: 100
         },
         {
           title: "物料名称",
           key: "materialName",
-          tooltip: "true",
+          tooltip: "true"
           // width: 100
         },
         {
           title: "规格型号",
           key: "specs",
-          tooltip: "true",
+          tooltip: "true"
           // width: 100
         },
         {
           title: "单位",
           key: "unit",
-          tooltip: "true",
+          tooltip: "true"
           // width: 100
         },
         {
           title: "库存量",
           key: "inventory",
-          tooltip: "true",
+          tooltip: "true"
           // width: 100
         },
         {
           title: "申购数量",
           slot: "amount",
-          tooltip: "true",
+          tooltip: "true"
           // width: 100
         },
         {
           title: "参考单价(元)",
           key: "referencePrice",
-          tooltip: "true",
+          tooltip: "true"
           // width: 120
         },
         {
           title: "参考总价(元)",
           slot: "referenceTotalPrice",
-          tooltip: "true",
+          tooltip: "true"
           // width: 120
         },
         {
           title: "入库仓库",
           slot: "storehouseId",
-          tooltip: "true",
+          tooltip: "true"
           // width: 100
         },
         {
           title: "对接人",
           slot: "linkedPersonName",
-          tooltip: "true",
+          tooltip: "true"
           // width: 100
         },
         {
           title: "单据类型",
           slot: "billType",
-          tooltip: "true",
+          tooltip: "true"
           // width: 100
         },
         {
           title: "计划到货时间",
           slot: "arriveTime",
-          tooltip: "true",
+          tooltip: "true"
           // width: 130
         },
         {
           title: "备注",
           slot: "remark",
-          tooltip: "true",
+          tooltip: "true"
           // width: 100
         }
       ],
@@ -239,19 +234,19 @@ export default {
     };
   },
   created() {
-    if(this.$route.query.param){
+    if (this.$route.query.param) {
       this.getSgjh();
-    }else{
-      this.getInfo()
+    } else {
+      this.getInfo();
     }
   },
   methods: {
     //表单上传
-    getInfo(){
+    getInfo() {
       queryPurchaseApplyInfo({
-        id:this.$route.query.id
-      }).then(res=>{
-           if (res.status == 200) {
+        id: this.$route.query.id
+      }).then(res => {
+        if (res.status == 200) {
           this.form.jhdjh = res.data.code;
           this.form.bt = res.data.title;
           this.form.ssqy = `${res.data.areaName}`;
@@ -284,7 +279,7 @@ export default {
           this.form.totalPrice = Number(total).toFixed(2);
           this.tableData = res.data.detailList;
         }
-      })
+      });
     },
     beforeUpload() {},
     upFilesLoading() {

+ 1 - 1
src/service/getData.js

@@ -66,7 +66,7 @@ export const stockGoodsByGpID = (data) => fetch('/common/stockGoodsByGpID', '/pu
 //通用 --- 供应商  ----  查询计量单位
 export const getLabelByCode4Purchase = (data) => fetch('/dictDetail/getLabelByCode4Purchase', '/purchase', data, 'JSON2', 'GET');
 //通用 --- 内部调拨  ---- 获取内部调拨详情
-export const getDetailRecord = (data) => fetch('/common/getDetailRecord', '/purchase', data, 'JSON2', 'GET');
+export const getDetailRecord = (data) => fetch('/common/free/getDetailRecord', '/purchase', data, 'JSON2', 'GET');
 /*
  *采购管理
  *供应商模块接口