Browse Source

前端mxx

gjy 4 years ago
parent
commit
5799b1f5e0

+ 1 - 1
package-lock.json

@@ -19863,4 +19863,4 @@
       "integrity": "sha512-TNloHe0ums6zxbHfnaCryM61J4IWDajZwNq6dHk9vfWhhysO/OeFvvR0drBs/nbXha2YxSzfQj2FiCd6RVBe+Q=="
     }
   }
-}
+}

+ 1 - 1
package.json

@@ -143,4 +143,4 @@
   "files": [
     "dist"
   ]
-}
+}

+ 3 - 1
src/api/V2/contract/index.js

@@ -2,7 +2,7 @@
 // 查看合同接口
 export const API_GET_EXAMINE_HISTORY = '/contractManagementInfo/getInfo'
 export const API_GET_CONTRACT_TENANT = '/contractManagementInfo/selectInfo'
-export const API_POST_ADD_CONTRACT_TENANT = '/contractManagementInfo/addInfo'
+export const API_POST_ADD_CONTRACT_TENANT = '/contractManagementInfo/api/addInfo'
 export const API_POST_MANNER_OF_PACKING_TENANT = '/commonSysParameter/getInfo'
 // 验收下拉
 export const API_GET_CUSTOMDROPDOWN_CUSTOMDROPDOWN = `/customDropDown/query/customDropDown`
@@ -14,3 +14,5 @@ export const API_POST_CUSTOM_DOWN_EDIT = '/customDropDown/api/saveEdit'
 export const API_POST_CUSTOM_DOWN_DELETE = '/customDropDown/api/saveDelete'
 // 导出
 export const API_POST_EXPORT = '/contractManagementInfo/export'
+// 操作历史
+export const API_POST_BILL_OPERATE_HIS = '/billOperateHis/query/commonBillOperateHis'

+ 6 - 1
src/components/WsUpload/index.vue

@@ -366,7 +366,12 @@ export default {
               : this.tableName.split('_')[0],
             vesselId: this.vesselId || '',
           })
-          this.$emit('uploadSuccess', data, file)
+          this.$emit(
+            'uploadSuccess',
+            data,
+            file,
+            this.getFilePath(data.appendixPath)
+          )
           const item = {
             appendixName: data.appendixName,
             appendixPath: data.appendixPath,

+ 10 - 3
src/model/contarct/index.js

@@ -10,12 +10,17 @@ import {
     API_POST_CUSTOM_DOWN_ADD,
     API_POST_CUSTOM_DOWN_EDIT,
     API_POST_CUSTOM_DOWN_DELETE,
-    API_POST_EXPORT
+    API_POST_EXPORT,
+    API_POST_BILL_OPERATE_HIS,
+    
 } from '@/api/V2/contract'
+// 列表
 export const getList = appRx.get(API_GET_CONTRACT_TENANT, errorCatcher, errorHandle, filter)
-export const addList = appRx.get(API_POST_ADD_CONTRACT_TENANT, errorCatcher, errorHandle, filter)
+// 添加
+export const addList = appRx.post(API_POST_ADD_CONTRACT_TENANT, errorCatcher, errorHandle, filter)
+// 下拉
 export const packList = appRx.get(API_POST_MANNER_OF_PACKING_TENANT, errorCatcher, errorHandle, filter)
-//查询合同
+//查
 export const getInquiry = appRx.get(API_GET_EXAMINE_HISTORY,errorCatcher,errorHandle,filter)
 // 下拉
 export const xiala = appRx.get(API_GET_CUSTOMDROPDOWN_CUSTOMDROPDOWN, errorCatcher, errorHandle, filter)
@@ -24,3 +29,5 @@ export const editxiala = appRx.post(API_POST_CUSTOM_DOWN_EDIT, errorCatcher, err
 export const delxiala = appRx.post(API_POST_CUSTOM_DOWN_DELETE, errorCatcher, errorHandle, filter)
 // 导出
 export const export1 = appRx.get(API_POST_EXPORT)
+// 操作历史
+export const billoperatehis = appRx.get(API_POST_BILL_OPERATE_HIS, errorCatcher, errorHandle, filter)

+ 46 - 28
src/views/contractManagement/purchaseContract.vue

@@ -25,7 +25,7 @@
           v-model="deptBudgetList.crtDutyId"
           placeholder=""
           class="typeselect"
-          @change="selectCrtDuty"
+          @change="selecttaskType"
         >
           <ws-option
             v-for="item in taskTypeList"
@@ -36,7 +36,7 @@
         </ws-select>
         <ws-date-picker
           :picker-options="pickerBeginDateBefore"
-          v-model="deptBudgetList.birthday"
+          v-model="startDate"
           type="date"
           default-value="1980-01-01"
           placeholder="起始日期"
@@ -46,7 +46,7 @@
         <span>至</span>
         <ws-date-picker
           :picker-options="pickerBeginDateBefore"
-          v-model="deptBudgetList.birthday"
+          v-model="endDate"
           type="date"
           default-value="1980-01-01"
           placeholder="截止日期"
@@ -54,7 +54,7 @@
           value-format="yyyy-MM-dd"
         />
         <ws-input
-          v-model="deptBudgetList.interviewOpinion"
+          v-model="searchKeyWord"
           placeholder="可按照合同编号、买方名称、卖方名称进行查找"
           clearable
           maxlength="500"
@@ -64,7 +64,7 @@
         <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
         <ws-button
           type="primary"
-          @click="enquiry(3)"
+          @click="find()"
           v-hasPermission="
             `${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
           "
@@ -72,22 +72,34 @@
         >
       </template>
     </BaseHeaderLayout>
-    <el-table :data="tableData" style="width: 100%; margin-top: 10px">
+    <el-table
+      :data="contractList.records"
+      style="width: 100%; margin-top: 10px"
+    >
       <el-table-column type="index" />
-      <el-table-column prop="date" label="合同编号" width="80">
+      <el-table-column prop="contractNo" label="合同编号" width="80">
+      </el-table-column>
+      <el-table-column prop="goodsName" label="货名" width="80">
+      </el-table-column>
+      <el-table-column prop="grade" label="品级"> </el-table-column>
+      <el-table-column prop="weight" label="重量(吨)"> </el-table-column>
+      <el-table-column prop="unitContractPrice" label="合同单价(元)">
+      </el-table-column>
+      <el-table-column prop="packingMethod" label="包装方式"> </el-table-column>
+      <el-table-column prop="buyer" label="买方"> </el-table-column>
+      <el-table-column prop="seller" label="卖方"> </el-table-column>
+      <el-table-column prop="imperfectGrain" label="已完成(吨)">
+      </el-table-column>
+      <el-table-column prop="status" label="状态">
+        <template slot-scope="scope">
+          <span>{{ scope.row.status }}</span>
+          <i class="el-icon-edit" @click.stop="editClick(item, index)"></i>
+        </template>
+      </el-table-column>
+      <el-table-column prop="signingDate" label="签订日期"> </el-table-column>
+      <el-table-column prop="mildewGrain" label="已付款(元)">
       </el-table-column>
-      <el-table-column prop="name" label="货名" width="80"> </el-table-column>
-      <el-table-column prop="address" label="品级"> </el-table-column>
-      <el-table-column prop="address" label="重量(吨)"> </el-table-column>
-      <el-table-column prop="address" label="合同单价(元)"> </el-table-column>
-      <el-table-column prop="address" label="包装方式"> </el-table-column>
-      <el-table-column prop="address" label="买方"> </el-table-column>
-      <el-table-column prop="address" label="卖方"> </el-table-column>
-      <el-table-column prop="address" label="已完成(吨)"> </el-table-column>
-      <el-table-column prop="address" label="状态"> </el-table-column>
-      <el-table-column prop="address" label="签订日期"> </el-table-column>
-      <el-table-column prop="address" label="已付款(元)"> </el-table-column>
-      <el-table-column prop="address" label="附件">
+      <el-table-column prop="addressUrl" label="附件">
         <template slot-scope="scope">
           <i @click="fujian(scope.row)" class="el-icon-paperclip iconCss"></i>
         </template>
@@ -161,7 +173,7 @@ export default {
       year: '',
       currentPage: 1,
       pageSize: 10,
-      searchType: 0,
+      searchType: 1,
       searchKeyWord: '',
       startDate: null,
       endDate: null,
@@ -171,7 +183,7 @@ export default {
         year: dayjs().format('YYYY'),
         month: dayjs().format('MM'),
       },
-      tableData: [{ date: 1111, name: 'qqqq', address: 'errrtt' }],
+      contractList: [],
       deptBudgetList: {},
       pickerBeginDateBefore: {
         disabledDate: (time) => {
@@ -180,10 +192,10 @@ export default {
       },
       accessoryTFs: false,
       taskTypeList: [
-        { value: '未完成(默认)' },
-        { value: '已完成' },
-        { value: '待回款' },
-        { value: '全部合同' },
+        { value: '未完成(默认)', type: 1 },
+        { value: '已完成', type: 2 },
+        { value: '待回款', type: 3 },
+        { value: '全部合同', type: '' },
       ],
     }
   },
@@ -204,14 +216,20 @@ export default {
         searchKeyWord: this.searchKeyWord,
         startDate: this.startDate,
         endDate: this.endDate,
+        contrPage:this.contrPage,
       })
         .toPromise()
         .then((response) => {
-          console.log(response)
           this.contractList = response
         })
     },
-    selectCrtDuty() {},
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
     fujian() {
       if (
         row.receiveAttachmentPath === null ||
@@ -230,7 +248,6 @@ export default {
       this.$router.push({ path: 'purchaseContractExamine' })
     },
     handleAdd() {
-      console.log(11111)
       this.$router.push({ path: 'purchaseContractAdd' })
     },
     handleEdit(row) {
@@ -240,6 +257,7 @@ export default {
     handleClose() {
       this.dialogViewSpareMoney = false
     },
+    find() {},
     async exportlist() {
       const { data } = await export1(
         {

+ 92 - 18
src/views/contractManagement/purchaseContractAdd.vue

@@ -137,7 +137,7 @@
           v-model="deptBudgetList.packingMethod"
           placeholder=""
           class="typeselect"
-          @change="selectCrtDuty"
+          @change="selectpackingMethod"
         >
           <ws-option
             v-for="item in packtypeList"
@@ -163,10 +163,10 @@
             span="1"
             prop="acceptanceMethod"
           >
-            <el-select v-model="pleaseChoose" :placeholder="getPleaseChoose"  style="width: 100%;" filterable @change="selectContract">
+            <el-select v-model="deptBudgetList.acceptanceMethod" placeholder="请选择验收方式"  style="width: 100%;" filterable @change="selectunitList">
               <el-option v-for="(item,index) in unitList"
                :key="item.constValue"
-               :label="getLanguage !== 'en' ? item.constValue : item.constValueEn"
+               :label=" item.constValue"
                :value="item.constValue">
                 <span class="unit-left" style="float: left">
                   <span v-if="item.flag == 'delete'"> {{ item.constValue }}</span>
@@ -201,7 +201,7 @@
             prop="overShort"
           >
           <ws-input
-              v-model="deptBudgetList.weight"
+              v-model="deptBudgetList.overShort"
               maxlength="100"
               size="small"
             />
@@ -289,7 +289,7 @@
           v-model="deptBudgetList.contractGoodsInfo.goodsName"
           placeholder=""
           class="typeselect"
-          @change="selectCrtDuty"
+          @change="selectgoodsName"
         >
           <ws-option
             v-for="item in goodnameList"
@@ -319,13 +319,13 @@
           v-model="deptBudgetList.contractGoodsInfo.grade"
           placeholder=""
           class="typeselect"
-          @change="selectCrtDuty"
+          @change="selectgrade"
         >
           <ws-option
             v-for="item in gradeList"
-            :key="item.value"
-            :label="item.value"
-            :value="item.value"
+            :key="item.constValue"
+            :label="item.constValue"
+            :value="item.constValue"
           />
         </ws-select>
           </ws-form-item>
@@ -335,7 +335,7 @@
             prop="interviewDates"
           >
           <ws-input
-              v-model="deptBudgetList.contractGoodsInfo.waterContent"
+              v-model="deptBudgetList.contractGoodsInfo.impurity"
               maxlength="100"
               size="small"
             />
@@ -467,13 +467,13 @@
           v-model="deptBudgetList.contractProcessInfo.grade"
           placeholder=""
           class="typeselect"
-          @change="selectCrtDuty"
+          @change="selectChapterTwo"
         >
           <ws-option
-            v-for="item in taskTypeList"
-            :key="item.value"
-            :label="item.value"
-            :value="item.value"
+            v-for="item in ChapterTwoList"
+            :key="item.constValue"
+            :label="item.constValue"
+            :value="item.constValue"
           />
         </ws-select>
           </ws-form-item>
@@ -489,6 +489,8 @@
                    :appendix-ids="appendixIdsAdd"
                    :vesselId="deptBudgetList.addressUrl"
                    :size-limit='size'
+                   @uploadSuccess="uploadSuccess"
+                   @onChange="onChange"
                    accept='.jpg, .jpeg, .png, .pdf, .doc, .zip, .rar' />
       </base-card>
     </ws-form>
@@ -551,6 +553,7 @@ export default {
         },
         contractProcessInfo: {},
       },
+      appendixIdsAdd: '',
       mainReportAdd: {},
       trainingMethods: {},
       pickerBeginDateBefore: {
@@ -558,8 +561,10 @@ export default {
           return time.getTime() > Date.now()
         },
       },
+      compId: sessionStorage.getItem('ws-pf_compId'),
       packtypeList: [],
       goodnameList: [],
+      ChapterTwoList: [],
       unitList: [],
       gradeList: [],
       taskTypeList: [
@@ -603,11 +608,41 @@ export default {
         .then((response) => {
           this.gradeList = response
         })
+      // 双章
+      packList({ constId: 'CON4' })
+        .toPromise()
+        .then((response) => {
+          this.ChapterTwoList = response
+        })
+    },
+    // 上传附件
+    uploadSuccess(data, files, url) {
+      console.log(data, files, url)
+
+      // this.deptBudgetList.
+      // this.formData.append('files', files)
+      // this.feedbackObj.uploadNameAttachment = data.appendixName
+      // this.feedbackObj.pathUploadAttachment = data.appendixPath
+      // // this.newAppendixs = files
+      // this.onChangeFlag = true
+    },
+    onChange(files) {
+      this.fileNum = files
+      this.$refs.upload.handleSaveBill().then((res) => {
+        console.log(files)
+      })
     },
     submit() {
       this.$refs.deptBudgetList.validate((valid) => {
         if (valid) {
-          console.log(this.deptBudgetList)
+          this.deptBudgetList.compId = this.compId
+          this.deptBudgetList.contractType = 2
+          addList(this.deptBudgetList)
+            .toPromise()
+            .then((response) => {
+              this.$message.success('添加成功')
+              this.$router.push({ path: 'purchaseContract' })
+            })
         } else {
           EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
           return false
@@ -644,7 +679,43 @@ export default {
     returnsales() {
       this.$router.push({ path: 'purchaseContract' })
     },
-    selectCrtDuty() {},
+    selectChapterTwo(e) {
+      for (var i = 0; i < this.ChapterTwoList.length; i++) {
+        if (this.ChapterTwoList[i].constValue == e) {
+          this.deptBudgetList.gradeKey = this.ChapterTwoList[i].constKey
+        }
+      }
+    },
+    selectunitList(e) {
+      for (var i = 0; i < this.unitList.length; i++) {
+        if (this.unitList[i].constValue == e) {
+          this.deptBudgetList.packingMethodKey = this.unitList[i].constKey
+        }
+      }
+    },
+    selectgrade(e) {
+      for (var i = 0; i < this.gradeList.length; i++) {
+        if (this.gradeList[i].constValue == e) {
+          this.deptBudgetList.gradeKey = this.gradeList[i].constKey
+        }
+      }
+    },
+    selectgoodsName(e) {
+      for (var i = 0; i < this.goodnameList.length; i++) {
+        if (this.goodnameList[i].constValue == e) {
+          this.deptBudgetList.goodsNameKey = this.goodnameList[i].constKey
+        }
+      }
+    },
+    selectpackingMethod(e) {
+      for (var i = 0; i < this.packtypeList.length; i++) {
+        if (this.packtypeList[i].constValue == e) {
+          this.deptBudgetList.acceptanceMethodKey = this.packtypeList[
+            i
+          ].constKey
+        }
+      }
+    },
     addClick() {
       this.unitList.push({
         flag: 'add',
@@ -679,7 +750,10 @@ export default {
           .then((response) => {
             this.getUnitList()
           })
-      } else {
+      } else if (item.flag == 'check') {
+        this.trainingMethods.compId = sessionStorage.getItem('ws-pf_compId')
+        this.trainingMethods.constKey = item.constKey
+        this.trainingMethods.constCode = 'TYPEYAN'
         this.trainingMethods.constValue = item.constValue
         this.trainingMethods.id = item.id
         editxiala(this.trainingMethods)

+ 2 - 1
src/views/contractManagement/purchaseContractExamine.vue

@@ -24,7 +24,7 @@
     >
       <div class="remark">
       <h3>基本信息</h3>
-    </div>
+      </div>
         <ws-info-table>
           <ws-form-item
             label="合同编号"
@@ -139,6 +139,7 @@
           </ws-form-item>
         </ws-info-table>
       </base-card>
+      
       <!--面试信息-->
       <div class="remark">
       <h3>货物信息</h3>

+ 27 - 2
src/views/contractManagement/salesContract.vue

@@ -119,6 +119,7 @@
 </template>
 <script>
 import { getVesselOne } from '@/model/procurement/basic'
+import{getList}from'@/model/contarct/index'
 import { dayjs } from 'base-core-lib'
 export default {
   name: 'viewSpareMoney',
@@ -173,16 +174,40 @@ export default {
         interviewResult: '1',
         interviewOpinion: '',
         aliasName: '',
+        contractType:1,
+        currentPage:1,
+        pageSize:10,
+        searchType:1,
+        searchKeyWord:'',
+        startDate:null,
+        endDate: null,
       },
     }
   },
   created() {
     //cg.viewBudget
     //cg.viewSpareMoney
-    // this.getVesselData();
-    this.showType = this.isShow
+    // this.getVesselData();\
+    this.getList()
   },
   methods: {
+    getList() {
+      getList({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        contractType:this.contractType,
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        searchType: this.searchType,
+        searchKeyWord: this.searchKeyWord,
+        startDate: this.startDate,
+        endDate: this.endDate,
+        contrPage:this.contrPage,
+      })
+        .toPromise()
+        .then((response) => {
+          this.contractList = response
+        })
+    },
     // 关闭 dialog时 处理文件url 初始化upload组件
     handleClose() {
       this.dialogViewSpareMoney = false

+ 7 - 1
src/views/contractManagement/salesContractExamine.vue

@@ -685,7 +685,13 @@
                 deptBudgetList.interviewResult
               }}</span>
             </ws-form-item>
-           
+            
+           <div class="remark">
+          <h3>备注信息</h3>
+        </div>
+        {{deptBudgetList.contractProcessInfo.remarks}}
+        <img :src="deptBudgetList.contractProcessInfo.addressUrl" alt="">
+
           </ws-info-table>
   </ws-form>
   </div>