|
@@ -24,18 +24,14 @@
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
</template>
|
|
</template>
|
|
<template slot="menuLeft">
|
|
<template slot="menuLeft">
|
|
- <el-button type="primary" icon="el-icon-plus" size="small" @click.stop="addData()">
|
|
|
|
- 新增
|
|
|
|
- </el-button>
|
|
|
|
|
|
+ <el-button type="primary" icon="el-icon-plus" size="small" @click.stop="addData()"> 新增 </el-button>
|
|
<!-- <el-button type="primary" icon="el-icon-upload2" size="small" @click.stop="importPakageFn">
|
|
<!-- <el-button type="primary" icon="el-icon-upload2" size="small" @click.stop="importPakageFn">
|
|
导入积分包
|
|
导入积分包
|
|
</el-button> -->
|
|
</el-button> -->
|
|
</template>
|
|
</template>
|
|
<template slot="menuRight">
|
|
<template slot="menuRight">
|
|
<el-checkbox v-model="toApproval" @change="toApprovalClick" class="checkbox">只看待审核</el-checkbox>
|
|
<el-checkbox v-model="toApproval" @change="toApprovalClick" class="checkbox">只看待审核</el-checkbox>
|
|
- <el-button type="primary" :loading="exportFnLoading" icon="el-icon-download" size="small" @click.stop="exportFn">
|
|
|
|
- 导出数据
|
|
|
|
- </el-button>
|
|
|
|
|
|
+ <el-button type="primary" :loading="exportFnLoading" icon="el-icon-download" size="small" @click.stop="exportFn"> 导出数据 </el-button>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<template slot="scorePackageName1" slot-scope="scope">
|
|
<template slot="scorePackageName1" slot-scope="scope">
|
|
@@ -111,6 +107,7 @@
|
|
</template>
|
|
</template>
|
|
<el-button type="text" size="small" icon="el-icon-view" @click="toView(scope.row, scope.index)">查看 </el-button>
|
|
<el-button type="text" size="small" icon="el-icon-view" @click="toView(scope.row, scope.index)">查看 </el-button>
|
|
<el-button type="text" size="small" icon="el-icon-view" @click="detailFn(scope.row, scope.index)">详情 </el-button>
|
|
<el-button type="text" size="small" icon="el-icon-view" @click="detailFn(scope.row, scope.index)">详情 </el-button>
|
|
|
|
+ <el-button type="text" size="small" icon="el-icon-user" @click="handoverFn(scope.row, scope.index)">移交 </el-button>
|
|
</template>
|
|
</template>
|
|
</template>
|
|
</template>
|
|
</avue-crud>
|
|
</avue-crud>
|
|
@@ -251,7 +248,7 @@
|
|
ref="dismantleTableRef"
|
|
ref="dismantleTableRef"
|
|
:propsTableData="pkgTaskTypeQtyList"
|
|
:propsTableData="pkgTaskTypeQtyList"
|
|
@updateScope="
|
|
@updateScope="
|
|
- val => {
|
|
|
|
|
|
+ (val) => {
|
|
pointsForm.score = val;
|
|
pointsForm.score = val;
|
|
}
|
|
}
|
|
"
|
|
"
|
|
@@ -283,9 +280,7 @@
|
|
|
|
|
|
<!-- 核对积分包信息 -->
|
|
<!-- 核对积分包信息 -->
|
|
<el-dialog title="核对积分包信息" :visible.sync="reviewPakageDialog" top="30vh" width="440px" @close="reviewPakageClose" center>
|
|
<el-dialog title="核对积分包信息" :visible.sync="reviewPakageDialog" top="30vh" width="440px" @close="reviewPakageClose" center>
|
|
- <div class="attention">
|
|
|
|
- 较上次填写信息变化字段:“接单对象类型”,“结算渠道”,“XXX”。请确认无误后点击“确定”
|
|
|
|
- </div>
|
|
|
|
|
|
+ <div class="attention">较上次填写信息变化字段:“接单对象类型”,“结算渠道”,“XXX”。请确认无误后点击“确定”</div>
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="reviewPakageClose">取 消</el-button>
|
|
<el-button @click="reviewPakageClose">取 消</el-button>
|
|
<el-button type="primary" :loading="buttonLoading" @click="importPakageSubmitBtn('importPakageForm')">确 定</el-button>
|
|
<el-button type="primary" :loading="buttonLoading" @click="importPakageSubmitBtn('importPakageForm')">确 定</el-button>
|
|
@@ -297,18 +292,10 @@
|
|
<div><br /></div>
|
|
<div><br /></div>
|
|
<div>填表说明:</div>
|
|
<div>填表说明:</div>
|
|
<div>1、执行包名称不能重复</div>
|
|
<div>1、执行包名称不能重复</div>
|
|
- <div>
|
|
|
|
- 2、接单对象类型为“兼职”时接单对象不必填写,“全职”时请填写全职人员姓名
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- 3、“关联服务企业”与“关联任务积分包”所填内容必须是系统中已存在的名称,每次批量时需要保持这两个字段唯一,不能出现多个“关联服务企业”或“关联任务积分包”的情况。
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- 4、“关联任务积分包”如果有值时,“有效服务类型”无需填写。“关联任务积分包”为'无'时,有效服务类型必须填写,如未填写,默认全部任务类型
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- "有效服务类型"填写举例:1、全部。2、指定某些任务类型。每个任务类型之间用&分隔
|
|
|
|
- </div>
|
|
|
|
|
|
+ <div>2、接单对象类型为“兼职”时接单对象不必填写,“全职”时请填写全职人员姓名</div>
|
|
|
|
+ <div>3、“关联服务企业”与“关联任务积分包”所填内容必须是系统中已存在的名称,每次批量时需要保持这两个字段唯一,不能出现多个“关联服务企业”或“关联任务积分包”的情况。</div>
|
|
|
|
+ <div>4、“关联任务积分包”如果有值时,“有效服务类型”无需填写。“关联任务积分包”为'无'时,有效服务类型必须填写,如未填写,默认全部任务类型</div>
|
|
|
|
+ <div>"有效服务类型"填写举例:1、全部。2、指定某些任务类型。每个任务类型之间用&分隔</div>
|
|
<div><br /></div>
|
|
<div><br /></div>
|
|
<el-upload
|
|
<el-upload
|
|
ref="upload"
|
|
ref="upload"
|
|
@@ -324,7 +311,7 @@
|
|
class="upload-demo"
|
|
class="upload-demo"
|
|
>
|
|
>
|
|
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
|
|
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
|
|
- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
|
|
|
|
|
|
+ <el-button style="margin-left: 10px" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
|
|
</el-upload>
|
|
</el-upload>
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
<span style="margin-right: 1080px">上传文件错误项:</span>
|
|
<span style="margin-right: 1080px">上传文件错误项:</span>
|
|
@@ -456,9 +443,9 @@
|
|
</template>
|
|
</template>
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
注意: 1.报告将于24小时之内生成完毕,请注意下载。<br />
|
|
注意: 1.报告将于24小时之内生成完毕,请注意下载。<br />
|
|
- <i style="margin-left:62px"></i>2.报告汇总为封面+任务数据汇总+任务列表明细。
|
|
|
|
|
|
+ <i style="margin-left: 62px"></i>2.报告汇总为封面+任务数据汇总+任务列表明细。
|
|
<br />
|
|
<br />
|
|
- <i style="margin-left:10px"></i>3.报告详情为每条任务的任务详情+图片。
|
|
|
|
|
|
+ <i style="margin-left: 10px"></i>3.报告详情为每条任务的任务详情+图片。
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<!-- 中止任务 -->
|
|
<!-- 中止任务 -->
|
|
@@ -474,17 +461,13 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
- <p class="tc" v-if="suspendData.stopStatus === 'NOTHING'" style="color: red;">
|
|
|
|
- 该积分包中存在本企业或上级企业还未审核的任务,请审核后再进行该操作
|
|
|
|
- </p>
|
|
|
|
|
|
+ <p class="tc" v-if="suspendData.stopStatus === 'NOTHING'" style="color: red">该积分包中存在本企业或上级企业还未审核的任务,请审核后再进行该操作</p>
|
|
</el-form>
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button :type="suspendData.stopStatus === 'NOTHING' ? 'primary' : ''" @click="stopcancelBtn()">
|
|
<el-button :type="suspendData.stopStatus === 'NOTHING' ? 'primary' : ''" @click="stopcancelBtn()">
|
|
{{ suspendData.stopStatus === 'NOTHING' ? '确 定' : '取 消' }}
|
|
{{ suspendData.stopStatus === 'NOTHING' ? '确 定' : '取 消' }}
|
|
</el-button>
|
|
</el-button>
|
|
- <el-button v-if="suspendData.stopStatus !== 'NOTHING'" type="primary" @click="enableFlagBtn('enableForm')">
|
|
|
|
- 确 定
|
|
|
|
- </el-button>
|
|
|
|
|
|
+ <el-button v-if="suspendData.stopStatus !== 'NOTHING'" type="primary" @click="enableFlagBtn('enableForm')"> 确 定 </el-button>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<!-- 表单-查看有效服务类型 -->
|
|
<!-- 表单-查看有效服务类型 -->
|
|
@@ -501,7 +484,7 @@
|
|
|
|
|
|
<!-- 模板上传失败 -->
|
|
<!-- 模板上传失败 -->
|
|
<el-dialog title="模板上传失败!" width="600px" :close-on-click-modal="false" @close="importErrorDialogClose" :visible.sync="importErrorDialogShow" center>
|
|
<el-dialog title="模板上传失败!" width="600px" :close-on-click-modal="false" @close="importErrorDialogClose" :visible.sync="importErrorDialogShow" center>
|
|
- <avue-crud style="width: 100%;" :data="importErrorTableData" :option="errorOption"> </avue-crud>
|
|
|
|
|
|
+ <avue-crud style="width: 100%" :data="importErrorTableData" :option="errorOption"> </avue-crud>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<!-- 批量下发积分包提交前确认弹窗 -->
|
|
<!-- 批量下发积分包提交前确认弹窗 -->
|
|
<el-dialog title="核对积分包信息" width="600px" top="14vh" @close="importConfirmDialog = false" :visible.sync="importConfirmDialog" center>
|
|
<el-dialog title="核对积分包信息" width="600px" top="14vh" @close="importConfirmDialog = false" :visible.sync="importConfirmDialog" center>
|
|
@@ -520,7 +503,7 @@
|
|
<el-form :model="restartForm" :rules="restartFormRef" ref="restartForm">
|
|
<el-form :model="restartForm" :rules="restartFormRef" ref="restartForm">
|
|
<el-form-item label="截止日期" prop="endTimeValue">
|
|
<el-form-item label="截止日期" prop="endTimeValue">
|
|
<el-date-picker
|
|
<el-date-picker
|
|
- style="width:500px"
|
|
|
|
|
|
+ style="width: 500px"
|
|
:picker-options="pickerOptions"
|
|
:picker-options="pickerOptions"
|
|
v-model="restartForm.endTimeValue"
|
|
v-model="restartForm.endTimeValue"
|
|
@input="$forceUpdate()"
|
|
@input="$forceUpdate()"
|
|
@@ -552,16 +535,34 @@
|
|
<el-button type="primary" @click="taskListDialog = false">确 定</el-button>
|
|
<el-button type="primary" @click="taskListDialog = false">确 定</el-button>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
+
|
|
|
|
+ <!-- 展示当前任务拆分详情 -->
|
|
|
|
+ <el-dialog title="移交" :visible.sync="handoverDialog" width="45%" center :before-close="handoverClose">
|
|
|
|
+ <div>
|
|
|
|
+ <div class="handover-tips">本操作执行后不可撤回,请知悉</div>
|
|
|
|
+ <el-form :model="handoverForm" :rules="handoverFormRules" ref="handoverFormRef" label-width="100px" class="demo-ruleForm">
|
|
|
|
+ <el-form-item label="移交至" prop="ownerId">
|
|
|
|
+ <el-select v-model="handoverForm.ownerId" placeholder="请选择移交对象" class="w100" filterable>
|
|
|
|
+ <el-option cla v-for="item in userV2List" :label="item.realname" :value="item.userId" :key="item.userId"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button type="primary" @click="handoverSubmit">确 定</el-button>
|
|
|
|
+ </span>
|
|
|
|
+ </el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
import dismantleTable from './components/dismantleTable.vue';
|
|
import dismantleTable from './components/dismantleTable.vue';
|
|
-import {allotPointsData, importErrorTableOption} from '@/const/crud/assignPoints/quota/index';
|
|
|
|
|
|
+import { allotPointsData, importErrorTableOption } from '@/const/crud/assignPoints/quota/index';
|
|
import fileDownload from 'js-file-download';
|
|
import fileDownload from 'js-file-download';
|
|
-import {tree1, tree2, tree3, tree4, tree5, tree7, plist, pFlist} from '@/const/crud/taskTypeTree/index';
|
|
|
|
-import {getToken} from '@/util/auth';
|
|
|
|
-import {wmscorepackage} from '@/api/wmscorepackage';
|
|
|
|
|
|
+import { tree1, tree2, tree3, tree4, tree5, tree7, plist, pFlist } from '@/const/crud/taskTypeTree/index';
|
|
|
|
+import { getToken } from '@/util/auth';
|
|
|
|
+import { wmscorepackage } from '@/api/wmscorepackage';
|
|
import {
|
|
import {
|
|
getScorePackagePage,
|
|
getScorePackagePage,
|
|
getRelationScoreList,
|
|
getRelationScoreList,
|
|
@@ -587,25 +588,28 @@ import {
|
|
exportInfoApi,
|
|
exportInfoApi,
|
|
restartApi,
|
|
restartApi,
|
|
getListAncestorApi,
|
|
getListAncestorApi,
|
|
- getPkgTaskDetailsApi
|
|
|
|
|
|
+ getPkgTaskDetailsApi,
|
|
|
|
+ getUserV2ListApi,
|
|
|
|
+ pkgOwnerReplaceApi
|
|
} from '@/api/assignPoints/currency/index';
|
|
} from '@/api/assignPoints/currency/index';
|
|
|
|
|
|
-import {fetchList} from '@/api/wmdeptbudget/plan.js';
|
|
|
|
-import {settleById, geSubmitToken, settleSave, settleIssue, settleReIssue, settleSubmit} from '@/api/settle/settle';
|
|
|
|
-import {selectByScorePackageId} from '@/api/task/taskType';
|
|
|
|
-import {getSubSelect, getSettleSubSelect} from '@/api/admin/deptSub';
|
|
|
|
-import {getBatchHistory, batchGeneratePakage, getPackageSn} from '@/api/assignPoints/quota';
|
|
|
|
|
|
+import { fetchList } from '@/api/wmdeptbudget/plan.js';
|
|
|
|
+import { settleById, geSubmitToken, settleSave, settleIssue, settleReIssue, settleSubmit } from '@/api/settle/settle';
|
|
|
|
+import { selectByScorePackageId } from '@/api/task/taskType';
|
|
|
|
+import { getSubSelect, getSettleSubSelect } from '@/api/admin/deptSub';
|
|
|
|
+import { getBatchHistory, batchGeneratePakage, getPackageSn } from '@/api/assignPoints/quota';
|
|
import store from '@/store';
|
|
import store from '@/store';
|
|
-import {templateDownload} from '@/api/assignPoints/currency/manList';
|
|
|
|
-import {getDictType} from '@/api/common';
|
|
|
|
-import {SUBJECT_TYPE_MAP} from '@/const/auth';
|
|
|
|
-import {getAvailQuizList} from '@/api/test';
|
|
|
|
|
|
+import { templateDownload } from '@/api/assignPoints/currency/manList';
|
|
|
|
+import { getDictType } from '@/api/common';
|
|
|
|
+import { SUBJECT_TYPE_MAP } from '@/const/auth';
|
|
|
|
+import { getAvailQuizList } from '@/api/test';
|
|
import BigNumber from 'bignumber.js';
|
|
import BigNumber from 'bignumber.js';
|
|
|
|
+import color from '@/mixins/color';
|
|
|
|
|
|
// BigNumber.config({ ROUNDING_MODE: BigNumber.ROUND_HALF_UP })
|
|
// BigNumber.config({ ROUNDING_MODE: BigNumber.ROUND_HALF_UP })
|
|
export default {
|
|
export default {
|
|
name: 'allotPoints',
|
|
name: 'allotPoints',
|
|
- components: {dismantleTable},
|
|
|
|
|
|
+ components: { dismantleTable },
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
taskListArr: [],
|
|
taskListArr: [],
|
|
@@ -661,14 +665,14 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
rules: {
|
|
rules: {
|
|
- scorePackageName: [{required: true, message: '请输入执行包名称', trigger: 'blur'}],
|
|
|
|
- score: [{required: true, message: '请输入服务总值', trigger: 'blur'}],
|
|
|
|
- relationScoreId: [{required: true, message: '请选择关联任务积分包', trigger: 'change'}],
|
|
|
|
- userList: [{required: true, message: '请选择承接对象', trigger: 'change'}],
|
|
|
|
- taskTypeList: [{required: true, message: '请选择有效服务类型', trigger: 'input'}],
|
|
|
|
- packageUserScope: [{required: true, message: '请选择接单对象范围', trigger: 'change'}],
|
|
|
|
- relatedService: [{message: '请选择关联服务企业', trigger: 'change'}],
|
|
|
|
- typeid: [{required: true, message: '请选择接单对象类型', trigger: 'change'}]
|
|
|
|
|
|
+ scorePackageName: [{ required: true, message: '请输入执行包名称', trigger: 'blur' }],
|
|
|
|
+ score: [{ required: true, message: '请输入服务总值', trigger: 'blur' }],
|
|
|
|
+ relationScoreId: [{ required: true, message: '请选择关联任务积分包', trigger: 'change' }],
|
|
|
|
+ userList: [{ required: true, message: '请选择承接对象', trigger: 'change' }],
|
|
|
|
+ taskTypeList: [{ required: true, message: '请选择有效服务类型', trigger: 'input' }],
|
|
|
|
+ packageUserScope: [{ required: true, message: '请选择接单对象范围', trigger: 'change' }],
|
|
|
|
+ relatedService: [{ message: '请选择关联服务企业', trigger: 'change' }],
|
|
|
|
+ typeid: [{ required: true, message: '请选择接单对象类型', trigger: 'change' }]
|
|
},
|
|
},
|
|
restartVisible: false,
|
|
restartVisible: false,
|
|
currentRow: {},
|
|
currentRow: {},
|
|
@@ -719,7 +723,7 @@ export default {
|
|
enableFlagDig: false,
|
|
enableFlagDig: false,
|
|
enableForm: {},
|
|
enableForm: {},
|
|
enableRule: {
|
|
enableRule: {
|
|
- enableFlag: [{required: true, message: '请选择积分回收方式', trigger: 'change'}]
|
|
|
|
|
|
+ enableFlag: [{ required: true, message: '请选择积分回收方式', trigger: 'change' }]
|
|
},
|
|
},
|
|
searchForm: {},
|
|
searchForm: {},
|
|
publishDateTime: '', // 发布时间
|
|
publishDateTime: '', // 发布时间
|
|
@@ -777,10 +781,20 @@ export default {
|
|
submitToken: '', // 提交
|
|
submitToken: '', // 提交
|
|
availQuizList: [],
|
|
availQuizList: [],
|
|
quizList: [], // 测试试卷列表
|
|
quizList: [], // 测试试卷列表
|
|
- exportFnLoading: false
|
|
|
|
|
|
+ exportFnLoading: false,
|
|
|
|
+ currentInfo: {},
|
|
|
|
+ handoverDialog: false,
|
|
|
|
+ handoverForm: {
|
|
|
|
+ ownerId: ''
|
|
|
|
+ },
|
|
|
|
+ userV2List: [],
|
|
|
|
+ handoverFormRules: {
|
|
|
|
+ ownerId: [{ required: true, message: '请选择移交对象', trigger: 'change' }]
|
|
|
|
+ }
|
|
};
|
|
};
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
|
|
+ this.getUserV2List();
|
|
// 承接对象类型-展示-默认全职"3""
|
|
// 承接对象类型-展示-默认全职"3""
|
|
this.typeidShow();
|
|
this.typeidShow();
|
|
// 获取承接对象 - 全职
|
|
// 获取承接对象 - 全职
|
|
@@ -836,7 +850,7 @@ export default {
|
|
templateDownload({
|
|
templateDownload({
|
|
fileName
|
|
fileName
|
|
})
|
|
})
|
|
- .then(response => {
|
|
|
|
|
|
+ .then((response) => {
|
|
let url = window.URL.createObjectURL(new Blob([response.data]));
|
|
let url = window.URL.createObjectURL(new Blob([response.data]));
|
|
let link = document.createElement('a');
|
|
let link = document.createElement('a');
|
|
link.style.display = 'none';
|
|
link.style.display = 'none';
|
|
@@ -856,7 +870,7 @@ export default {
|
|
this.$message.warning('最多上传一个文件!');
|
|
this.$message.warning('最多上传一个文件!');
|
|
},
|
|
},
|
|
importPakageHandleSuccess(res, file) {
|
|
importPakageHandleSuccess(res, file) {
|
|
- this.importPakageFileList = [{name: file.name, url: res.data.url}];
|
|
|
|
|
|
+ this.importPakageFileList = [{ name: file.name, url: res.data.url }];
|
|
},
|
|
},
|
|
importPakageHandleError() {
|
|
importPakageHandleError() {
|
|
this.importPakageFileList = [];
|
|
this.importPakageFileList = [];
|
|
@@ -864,8 +878,8 @@ export default {
|
|
},
|
|
},
|
|
importPakageHandleChange(file, fileList) {
|
|
importPakageHandleChange(file, fileList) {
|
|
this.importPakageFile = file.raw;
|
|
this.importPakageFile = file.raw;
|
|
- this.importPakageFileList = [{name: file.name}];
|
|
|
|
- let existFile = fileList.slice(0, fileList.length - 1).find(f => f.name === file.name); //如果文件名重复
|
|
|
|
|
|
+ this.importPakageFileList = [{ name: file.name }];
|
|
|
|
+ let existFile = fileList.slice(0, fileList.length - 1).find((f) => f.name === file.name); //如果文件名重复
|
|
if (existFile) {
|
|
if (existFile) {
|
|
this.$message.error('当前文件已经存在!');
|
|
this.$message.error('当前文件已经存在!');
|
|
fileList.pop();
|
|
fileList.pop();
|
|
@@ -873,11 +887,11 @@ export default {
|
|
},
|
|
},
|
|
// 获取批量下发积分包弹窗的历史记录
|
|
// 获取批量下发积分包弹窗的历史记录
|
|
async getBatchHistory() {
|
|
async getBatchHistory() {
|
|
- const {data} = await getBatchHistory();
|
|
|
|
|
|
+ const { data } = await getBatchHistory();
|
|
if (data.code === 0 && data.data && data.data.history) {
|
|
if (data.code === 0 && data.data && data.data.history) {
|
|
this.importHistory = Object.assign({}, data.data.history);
|
|
this.importHistory = Object.assign({}, data.data.history);
|
|
this.importPakageForm = data.data.history;
|
|
this.importPakageForm = data.data.history;
|
|
- this.checkedDsScope = this.importPakageForm.taskTypeList.map(ele => ele.taskTypeId);
|
|
|
|
|
|
+ this.checkedDsScope = this.importPakageForm.taskTypeList.map((ele) => ele.taskTypeId);
|
|
this.setSelectNodes(this.checkedDsScope);
|
|
this.setSelectNodes(this.checkedDsScope);
|
|
// 动态展示页面
|
|
// 动态展示页面
|
|
if (this.importPakageForm.typeid) this.typeidChange(this.importPakageForm.typeid);
|
|
if (this.importPakageForm.typeid) this.typeidChange(this.importPakageForm.typeid);
|
|
@@ -944,7 +958,7 @@ export default {
|
|
if (this.importPakageFileList.length === 0) {
|
|
if (this.importPakageFileList.length === 0) {
|
|
return this.$message.warning('请上传模板!');
|
|
return this.$message.warning('请上传模板!');
|
|
}
|
|
}
|
|
- this.$refs[formName].validate(valid => {
|
|
|
|
|
|
+ this.$refs[formName].validate((valid) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
const date = this.formatDate(this.importPakageForm.endTimeValue);
|
|
const date = this.formatDate(this.importPakageForm.endTimeValue);
|
|
this.importPakageForm.endTime = date;
|
|
this.importPakageForm.endTime = date;
|
|
@@ -955,9 +969,9 @@ export default {
|
|
let diffItems = [];
|
|
let diffItems = [];
|
|
const diffTaskTypeList = () => {
|
|
const diffTaskTypeList = () => {
|
|
if (this.importHistory.taskTypeList.length !== this.importPakageForm.taskTypeList.length) return false;
|
|
if (this.importHistory.taskTypeList.length !== this.importPakageForm.taskTypeList.length) return false;
|
|
- const historyIds = this.importHistory.taskTypeList.map(ele => ele.taskTypeId);
|
|
|
|
- const pakageFormIds = this.importPakageForm.taskTypeList.map(ele => ele.taskTypeId);
|
|
|
|
- return historyIds.every(ele => pakageFormIds.includes(ele));
|
|
|
|
|
|
+ const historyIds = this.importHistory.taskTypeList.map((ele) => ele.taskTypeId);
|
|
|
|
+ const pakageFormIds = this.importPakageForm.taskTypeList.map((ele) => ele.taskTypeId);
|
|
|
|
+ return historyIds.every((ele) => pakageFormIds.includes(ele));
|
|
};
|
|
};
|
|
if (Object.keys(this.importHistory).length) {
|
|
if (Object.keys(this.importHistory).length) {
|
|
if (this.importHistory.typeid !== this.importPakageForm.typeid) {
|
|
if (this.importHistory.typeid !== this.importPakageForm.typeid) {
|
|
@@ -1008,7 +1022,7 @@ export default {
|
|
if (this.idVal != '-1') {
|
|
if (this.idVal != '-1') {
|
|
this.importPakageForm.drugProducerList = this.drugProducerList; // 推广产品企业
|
|
this.importPakageForm.drugProducerList = this.drugProducerList; // 推广产品企业
|
|
if (!this.importPakageForm.drugtable || this.importPakageForm.drugtable.length === 0) {
|
|
if (!this.importPakageForm.drugtable || this.importPakageForm.drugtable.length === 0) {
|
|
- this.importPakageForm.drugtable = this.drugList.map(item => item.drug_id); // 推广产品企业
|
|
|
|
|
|
+ this.importPakageForm.drugtable = this.drugList.map((item) => item.drug_id); // 推广产品企业
|
|
}
|
|
}
|
|
if (parseInt(this.getScore) > parseInt(this.kfpjfVal)) {
|
|
if (parseInt(this.getScore) > parseInt(this.kfpjfVal)) {
|
|
this.$message.error('服务总值必须小于可分配积分值');
|
|
this.$message.error('服务总值必须小于可分配积分值');
|
|
@@ -1020,7 +1034,7 @@ export default {
|
|
this.importPakageForm.drugProducerList = this.drugProducerList; // 推广产品企业
|
|
this.importPakageForm.drugProducerList = this.drugProducerList; // 推广产品企业
|
|
}
|
|
}
|
|
if (!this.importPakageForm.drugtable || this.importPakageForm.drugtable.length === 0) {
|
|
if (!this.importPakageForm.drugtable || this.importPakageForm.drugtable.length === 0) {
|
|
- this.importPakageForm.drugtable = this.drugList.map(item => item.drug_id); // 推广产品企业
|
|
|
|
|
|
+ this.importPakageForm.drugtable = this.drugList.map((item) => item.drug_id); // 推广产品企业
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (parseInt(this.getScore) == '0') {
|
|
if (parseInt(this.getScore) == '0') {
|
|
@@ -1041,7 +1055,7 @@ export default {
|
|
);
|
|
);
|
|
|
|
|
|
batchGeneratePakage(importPakageFormData)
|
|
batchGeneratePakage(importPakageFormData)
|
|
- .then(res => {
|
|
|
|
|
|
+ .then((res) => {
|
|
if (res.data.code === 0) {
|
|
if (res.data.code === 0) {
|
|
if (res.data.data) {
|
|
if (res.data.data) {
|
|
this.importErrorTableData = res.data.data;
|
|
this.importErrorTableData = res.data.data;
|
|
@@ -1065,7 +1079,7 @@ export default {
|
|
},
|
|
},
|
|
// 推广产品企业
|
|
// 推广产品企业
|
|
getDrugProducerList() {
|
|
getDrugProducerList() {
|
|
- getDrugProducerList({deptId: this.$store.getters.userInfo.deptId}).then(res => {
|
|
|
|
|
|
+ getDrugProducerList({ deptId: this.$store.getters.userInfo.deptId }).then((res) => {
|
|
this.drugProducerListCopy = res.data.data;
|
|
this.drugProducerListCopy = res.data.data;
|
|
});
|
|
});
|
|
},
|
|
},
|
|
@@ -1077,14 +1091,14 @@ export default {
|
|
},
|
|
},
|
|
// 关联执行包-展示
|
|
// 关联执行包-展示
|
|
showRelationScore() {
|
|
showRelationScore() {
|
|
- getRelationScoreList().then(response => {
|
|
|
|
|
|
+ getRelationScoreList().then((response) => {
|
|
this.getRelationScoreData = response.data.data;
|
|
this.getRelationScoreData = response.data.data;
|
|
});
|
|
});
|
|
},
|
|
},
|
|
// 关联服务企业-展示
|
|
// 关联服务企业-展示
|
|
getAllParentList() {
|
|
getAllParentList() {
|
|
- getListAncestorApi().then(response => {
|
|
|
|
- response.data.data.forEach(item => {
|
|
|
|
|
|
+ getListAncestorApi().then((response) => {
|
|
|
|
+ response.data.data.forEach((item) => {
|
|
const addnew = {
|
|
const addnew = {
|
|
value: item.deptId + '',
|
|
value: item.deptId + '',
|
|
label: item.name
|
|
label: item.name
|
|
@@ -1095,8 +1109,8 @@ export default {
|
|
},
|
|
},
|
|
// 承接对象类型-展示
|
|
// 承接对象类型-展示
|
|
typeidShow() {
|
|
typeidShow() {
|
|
- typeidPersonal().then(response => {
|
|
|
|
- response.data.data.forEach(item => {
|
|
|
|
|
|
+ typeidPersonal().then((response) => {
|
|
|
|
+ response.data.data.forEach((item) => {
|
|
const addnew = {
|
|
const addnew = {
|
|
value: item.value,
|
|
value: item.value,
|
|
label: item.label
|
|
label: item.label
|
|
@@ -1109,8 +1123,8 @@ export default {
|
|
// 全职-接单对象展示
|
|
// 全职-接单对象展示
|
|
showObjectscope() {
|
|
showObjectscope() {
|
|
this.receivingObject1 = [];
|
|
this.receivingObject1 = [];
|
|
- objectScope1().then(response => {
|
|
|
|
- response.data.data.forEach(item => {
|
|
|
|
|
|
+ objectScope1().then((response) => {
|
|
|
|
+ response.data.data.forEach((item) => {
|
|
const addnew = {
|
|
const addnew = {
|
|
value: item.id,
|
|
value: item.id,
|
|
label: item.realname + ' ' + item.username
|
|
label: item.realname + ' ' + item.username
|
|
@@ -1159,7 +1173,7 @@ export default {
|
|
let arg = {
|
|
let arg = {
|
|
description: '1'
|
|
description: '1'
|
|
};
|
|
};
|
|
- getTaskTypeTree(arg).then(response => {
|
|
|
|
|
|
+ getTaskTypeTree(arg).then((response) => {
|
|
// this.pointsForm.taskTypeList = response.data.data.treeList
|
|
// this.pointsForm.taskTypeList = response.data.data.treeList
|
|
if (type == '1') {
|
|
if (type == '1') {
|
|
this.checkedDsScope = response.data.data.keys;
|
|
this.checkedDsScope = response.data.data.keys;
|
|
@@ -1191,9 +1205,9 @@ export default {
|
|
// 非导入积分包获取历史记录时调用, 清空"关联执行包"
|
|
// 非导入积分包获取历史记录时调用, 清空"关联执行包"
|
|
this.importPakageForm.relationScoreId = '';
|
|
this.importPakageForm.relationScoreId = '';
|
|
}
|
|
}
|
|
- let arg = {relatedService: id};
|
|
|
|
|
|
+ let arg = { relatedService: id };
|
|
// 根据选择的"关联服务企业", 请求"关联执行包"列表
|
|
// 根据选择的"关联服务企业", 请求"关联执行包"列表
|
|
- getRelationScoreList(arg).then(response => {
|
|
|
|
|
|
+ getRelationScoreList(arg).then((response) => {
|
|
this.getRelationScoreData = response.data.data;
|
|
this.getRelationScoreData = response.data.data;
|
|
/**
|
|
/**
|
|
* 导入积分包获取历史记录时
|
|
* 导入积分包获取历史记录时
|
|
@@ -1202,7 +1216,7 @@ export default {
|
|
*/
|
|
*/
|
|
if (isHistory) {
|
|
if (isHistory) {
|
|
if (Array.isArray(this.getRelationScoreData) && this.getRelationScoreData.length) {
|
|
if (Array.isArray(this.getRelationScoreData) && this.getRelationScoreData.length) {
|
|
- if (!this.getRelationScoreData.some(ele => ele.id === this.importPakageForm.relationScoreId)) {
|
|
|
|
|
|
+ if (!this.getRelationScoreData.some((ele) => ele.id === this.importPakageForm.relationScoreId)) {
|
|
this.importPakageForm.relationScoreId = '';
|
|
this.importPakageForm.relationScoreId = '';
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
@@ -1213,8 +1227,8 @@ export default {
|
|
},
|
|
},
|
|
// 接单对象范围-默认展示
|
|
// 接单对象范围-默认展示
|
|
showUserScope() {
|
|
showUserScope() {
|
|
- packageUserScopeByOpt().then(response => {
|
|
|
|
- response.data.data.forEach(item => {
|
|
|
|
|
|
+ packageUserScopeByOpt().then((response) => {
|
|
|
|
+ response.data.data.forEach((item) => {
|
|
const addnew = {
|
|
const addnew = {
|
|
value: item.value,
|
|
value: item.value,
|
|
label: item.label
|
|
label: item.label
|
|
@@ -1240,7 +1254,7 @@ export default {
|
|
this.searchForm
|
|
this.searchForm
|
|
)
|
|
)
|
|
)
|
|
)
|
|
- .then(response => {
|
|
|
|
|
|
+ .then((response) => {
|
|
this.tableData = [];
|
|
this.tableData = [];
|
|
this.tableData = response.data.data.records;
|
|
this.tableData = response.data.data.records;
|
|
this.page.total = response.data.data.total;
|
|
this.page.total = response.data.data.total;
|
|
@@ -1279,7 +1293,7 @@ export default {
|
|
} else {
|
|
} else {
|
|
this.packageDisabled = true;
|
|
this.packageDisabled = true;
|
|
this.buttonLoading = true;
|
|
this.buttonLoading = true;
|
|
- let curr = this.getRelationScoreData.find(item => item.id === id);
|
|
|
|
|
|
+ let curr = this.getRelationScoreData.find((item) => item.id === id);
|
|
|
|
|
|
if (curr) {
|
|
if (curr) {
|
|
if (curr.endTime && curr.startTime) {
|
|
if (curr.endTime && curr.startTime) {
|
|
@@ -1332,7 +1346,7 @@ export default {
|
|
|
|
|
|
// this.setSelectNodes(this.checkedDsScope);
|
|
// this.setSelectNodes(this.checkedDsScope);
|
|
const quizRelations = response.data.data[0].quizRelations || [];
|
|
const quizRelations = response.data.data[0].quizRelations || [];
|
|
- this.quizList = quizRelations.map(ele => ({
|
|
|
|
|
|
+ this.quizList = quizRelations.map((ele) => ({
|
|
...ele,
|
|
...ele,
|
|
quizId: ele.relationId
|
|
quizId: ele.relationId
|
|
}));
|
|
}));
|
|
@@ -1355,7 +1369,7 @@ export default {
|
|
this.getListDrug();
|
|
this.getListDrug();
|
|
} else {
|
|
} else {
|
|
console.log('getRelationScoreData', this.getRelationScoreData);
|
|
console.log('getRelationScoreData', this.getRelationScoreData);
|
|
- let curr = this.getRelationScoreData.find(item => item.id === id);
|
|
|
|
|
|
+ let curr = this.getRelationScoreData.find((item) => item.id === id);
|
|
if (curr) {
|
|
if (curr) {
|
|
this.pointsForm.endTimeValue = curr.endTime;
|
|
this.pointsForm.endTimeValue = curr.endTime;
|
|
this.pointsForm.startTime = curr.startTime;
|
|
this.pointsForm.startTime = curr.startTime;
|
|
@@ -1416,7 +1430,7 @@ export default {
|
|
// 新增按钮-展示弹窗
|
|
// 新增按钮-展示弹窗
|
|
addData() {
|
|
addData() {
|
|
// 获取执行包编号
|
|
// 获取执行包编号
|
|
- getPackageSn().then(res => {
|
|
|
|
|
|
+ getPackageSn().then((res) => {
|
|
if (res.data.code === 0) {
|
|
if (res.data.code === 0) {
|
|
this.dialogType = 'add';
|
|
this.dialogType = 'add';
|
|
this.showTit = '新增';
|
|
this.showTit = '新增';
|
|
@@ -1452,7 +1466,7 @@ export default {
|
|
id: row.id
|
|
id: row.id
|
|
};
|
|
};
|
|
|
|
|
|
- getScorePackagePageById(arg).then(response => {
|
|
|
|
|
|
+ getScorePackagePageById(arg).then((response) => {
|
|
this.showTaskType();
|
|
this.showTaskType();
|
|
this.pointsForm = response.data.data;
|
|
this.pointsForm = response.data.data;
|
|
this.idVal = this.pointsForm.relationScoreId;
|
|
this.idVal = this.pointsForm.relationScoreId;
|
|
@@ -1500,7 +1514,7 @@ export default {
|
|
this.restartVisible = false;
|
|
this.restartVisible = false;
|
|
},
|
|
},
|
|
restartSubmit() {
|
|
restartSubmit() {
|
|
- this.$refs.restartForm.validate(async valid => {
|
|
|
|
|
|
+ this.$refs.restartForm.validate(async (valid) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
const date = this.formatDate(this.restartForm.endTimeValue);
|
|
const date = this.formatDate(this.restartForm.endTimeValue);
|
|
const obj = {
|
|
const obj = {
|
|
@@ -1526,7 +1540,7 @@ export default {
|
|
};
|
|
};
|
|
const response = await getRelationScoreList(arg);
|
|
const response = await getRelationScoreList(arg);
|
|
const quizRelations = response.data.data[0].quizRelations || [];
|
|
const quizRelations = response.data.data[0].quizRelations || [];
|
|
- this.quizList = quizRelations.map(ele => ({
|
|
|
|
|
|
+ this.quizList = quizRelations.map((ele) => ({
|
|
...ele,
|
|
...ele,
|
|
quizId: ele.relationId
|
|
quizId: ele.relationId
|
|
}));
|
|
}));
|
|
@@ -1580,7 +1594,7 @@ export default {
|
|
},
|
|
},
|
|
// 弹窗-确定按钮
|
|
// 弹窗-确定按钮
|
|
sureBtn(formName) {
|
|
sureBtn(formName) {
|
|
- this.$refs.pointsForm.validate(valid => {
|
|
|
|
|
|
+ this.$refs.pointsForm.validate((valid) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
const date = this.formatDate(this.pointsForm.endTimeValue);
|
|
const date = this.formatDate(this.pointsForm.endTimeValue);
|
|
this.pointsForm.endTime = date;
|
|
this.pointsForm.endTime = date;
|
|
@@ -1602,7 +1616,7 @@ export default {
|
|
}
|
|
}
|
|
if (this.idVal != '-1') {
|
|
if (this.idVal != '-1') {
|
|
if (!this.pointsForm.drugtable || this.pointsForm.drugtable.length === 0) {
|
|
if (!this.pointsForm.drugtable || this.pointsForm.drugtable.length === 0) {
|
|
- this.pointsForm.drugtable = this.drugList.map(item => item.drug_id);
|
|
|
|
|
|
+ this.pointsForm.drugtable = this.drugList.map((item) => item.drug_id);
|
|
}
|
|
}
|
|
this.pointsForm.drugProducerList = this.drugProducerList; // 推广产品企业
|
|
this.pointsForm.drugProducerList = this.drugProducerList; // 推广产品企业
|
|
|
|
|
|
@@ -1616,7 +1630,7 @@ export default {
|
|
this.pointsForm.drugProducerList = this.drugProducerList; // 推广产品企业
|
|
this.pointsForm.drugProducerList = this.drugProducerList; // 推广产品企业
|
|
}
|
|
}
|
|
if (!this.pointsForm.drugtable || this.pointsForm.drugtable.length === 0) {
|
|
if (!this.pointsForm.drugtable || this.pointsForm.drugtable.length === 0) {
|
|
- this.pointsForm.drugtable = this.drugList.map(item => item.drug_id);
|
|
|
|
|
|
+ this.pointsForm.drugtable = this.drugList.map((item) => item.drug_id);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1627,7 +1641,7 @@ export default {
|
|
}
|
|
}
|
|
const tableData = this.$refs.dismantleTableRef.getDetail();
|
|
const tableData = this.$refs.dismantleTableRef.getDetail();
|
|
let pkgTaskTypeQtyList;
|
|
let pkgTaskTypeQtyList;
|
|
- pkgTaskTypeQtyList = tableData.map(item => {
|
|
|
|
|
|
+ pkgTaskTypeQtyList = tableData.map((item) => {
|
|
return {
|
|
return {
|
|
taskTypeName: item.taskTypeName,
|
|
taskTypeName: item.taskTypeName,
|
|
price: item.score,
|
|
price: item.score,
|
|
@@ -1636,7 +1650,7 @@ export default {
|
|
};
|
|
};
|
|
});
|
|
});
|
|
|
|
|
|
- let flag = this.pkgTaskTypeQtyList.every(item => item.qty == 0);
|
|
|
|
|
|
+ let flag = this.pkgTaskTypeQtyList.every((item) => item.qty == 0);
|
|
if (flag) {
|
|
if (flag) {
|
|
this.$message.error('请选择具体任务');
|
|
this.$message.error('请选择具体任务');
|
|
return false;
|
|
return false;
|
|
@@ -1644,7 +1658,7 @@ export default {
|
|
this.pointsForm.pkgTaskTypeQtyList = pkgTaskTypeQtyList;
|
|
this.pointsForm.pkgTaskTypeQtyList = pkgTaskTypeQtyList;
|
|
|
|
|
|
delete this.pointsForm.drugProducerList;
|
|
delete this.pointsForm.drugProducerList;
|
|
- let treeArr = tableData.map(item => {
|
|
|
|
|
|
+ let treeArr = tableData.map((item) => {
|
|
return {
|
|
return {
|
|
taskTypeName: item.taskTypeName,
|
|
taskTypeName: item.taskTypeName,
|
|
taskTypeId: item.orgTaskTypeId
|
|
taskTypeId: item.orgTaskTypeId
|
|
@@ -1652,8 +1666,8 @@ export default {
|
|
});
|
|
});
|
|
|
|
|
|
let arr1 = [...pFlist];
|
|
let arr1 = [...pFlist];
|
|
- tableData.forEach(item => {
|
|
|
|
- const curr = arr1.find(iten => iten.taskTypeId === item.parent_id);
|
|
|
|
|
|
+ tableData.forEach((item) => {
|
|
|
|
+ const curr = arr1.find((iten) => iten.taskTypeId === item.parent_id);
|
|
if (curr) {
|
|
if (curr) {
|
|
curr.children.push({
|
|
curr.children.push({
|
|
taskTypeId: item.orgTaskTypeId,
|
|
taskTypeId: item.orgTaskTypeId,
|
|
@@ -1663,7 +1677,7 @@ export default {
|
|
});
|
|
});
|
|
|
|
|
|
let arr3 = arr1.concat(treeArr);
|
|
let arr3 = arr1.concat(treeArr);
|
|
- const arr4 = arr3.filter(item => {
|
|
|
|
|
|
+ const arr4 = arr3.filter((item) => {
|
|
if (!item.children || item.children.length > 0) {
|
|
if (!item.children || item.children.length > 0) {
|
|
return item;
|
|
return item;
|
|
}
|
|
}
|
|
@@ -1671,7 +1685,7 @@ export default {
|
|
this.pointsForm.taskTypeList = arr4;
|
|
this.pointsForm.taskTypeList = arr4;
|
|
|
|
|
|
addWmScorePackage(this.pointsForm)
|
|
addWmScorePackage(this.pointsForm)
|
|
- .then(response => {
|
|
|
|
|
|
+ .then((response) => {
|
|
this.$message.success('新增成功');
|
|
this.$message.success('新增成功');
|
|
this.cancelBtn();
|
|
this.cancelBtn();
|
|
this.buttonLoading = false;
|
|
this.buttonLoading = false;
|
|
@@ -1700,7 +1714,7 @@ export default {
|
|
return false;
|
|
return false;
|
|
} else {
|
|
} else {
|
|
editData(this.pointsForm)
|
|
editData(this.pointsForm)
|
|
- .then(response => {
|
|
|
|
|
|
+ .then((response) => {
|
|
this.cancelBtn();
|
|
this.cancelBtn();
|
|
this.buttonLoading = false;
|
|
this.buttonLoading = false;
|
|
})
|
|
})
|
|
@@ -1721,7 +1735,7 @@ export default {
|
|
},
|
|
},
|
|
// 弹窗-确定按钮
|
|
// 弹窗-确定按钮
|
|
sureBtn1(formName) {
|
|
sureBtn1(formName) {
|
|
- this.$refs[formName].validate(valid => {
|
|
|
|
|
|
+ this.$refs[formName].validate((valid) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
const date = this.formatDate(this.pointsForm.endTimeValue);
|
|
const date = this.formatDate(this.pointsForm.endTimeValue);
|
|
this.pointsForm.endTime = date;
|
|
this.pointsForm.endTime = date;
|
|
@@ -1756,7 +1770,7 @@ export default {
|
|
}
|
|
}
|
|
if (this.idVal != '-1') {
|
|
if (this.idVal != '-1') {
|
|
this.pointsForm.drugProducerList = this.drugProducerList; // 推广产品企业
|
|
this.pointsForm.drugProducerList = this.drugProducerList; // 推广产品企业
|
|
- this.pointsForm.drugtable = this.drugList.map(item => item.drug_id);
|
|
|
|
|
|
+ this.pointsForm.drugtable = this.drugList.map((item) => item.drug_id);
|
|
if (parseInt(this.getScore) > parseInt(this.kfpjfVal)) {
|
|
if (parseInt(this.getScore) > parseInt(this.kfpjfVal)) {
|
|
this.$message.error('服务总值必须小于可分配积分值');
|
|
this.$message.error('服务总值必须小于可分配积分值');
|
|
this.relationScorechange(this.idVal);
|
|
this.relationScorechange(this.idVal);
|
|
@@ -1767,7 +1781,7 @@ export default {
|
|
this.pointsForm.drugProducerList = this.drugProducerList; // 推广产品企业
|
|
this.pointsForm.drugProducerList = this.drugProducerList; // 推广产品企业
|
|
}
|
|
}
|
|
if (!this.pointsForm.drugList || this.pointsForm.drugList.length === 0) {
|
|
if (!this.pointsForm.drugList || this.pointsForm.drugList.length === 0) {
|
|
- this.pointsForm.drugtable = this.drugList.map(item => item.drug_id);
|
|
|
|
|
|
+ this.pointsForm.drugtable = this.drugList.map((item) => item.drug_id);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (parseInt(this.getScore) == '0') {
|
|
if (parseInt(this.getScore) == '0') {
|
|
@@ -1777,7 +1791,7 @@ export default {
|
|
}
|
|
}
|
|
delete this.pointsForm.drugProducerList;
|
|
delete this.pointsForm.drugProducerList;
|
|
addWmScorePackage(this.pointsForm)
|
|
addWmScorePackage(this.pointsForm)
|
|
- .then(async response => {
|
|
|
|
|
|
+ .then(async (response) => {
|
|
this.$message.success('新增成功');
|
|
this.$message.success('新增成功');
|
|
this.showDialog = true;
|
|
this.showDialog = true;
|
|
this.pointsForm.scorePackageName = '';
|
|
this.pointsForm.scorePackageName = '';
|
|
@@ -1810,7 +1824,7 @@ export default {
|
|
return false;
|
|
return false;
|
|
} else {
|
|
} else {
|
|
editData(this.pointsForm)
|
|
editData(this.pointsForm)
|
|
- .then(response => {
|
|
|
|
|
|
+ .then((response) => {
|
|
this.cancelBtn();
|
|
this.cancelBtn();
|
|
this.buttonLoading = false;
|
|
this.buttonLoading = false;
|
|
})
|
|
})
|
|
@@ -1836,13 +1850,13 @@ export default {
|
|
},
|
|
},
|
|
// 中止确认按钮
|
|
// 中止确认按钮
|
|
enableFlagBtn(formName) {
|
|
enableFlagBtn(formName) {
|
|
- this.$refs[formName].validate(valid => {
|
|
|
|
|
|
+ this.$refs[formName].validate((valid) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
let args = {
|
|
let args = {
|
|
enableType: this.enableForm.enableFlag,
|
|
enableType: this.enableForm.enableFlag,
|
|
id: this.suspendData.id
|
|
id: this.suspendData.id
|
|
};
|
|
};
|
|
- updateEnable(args).then(response => {
|
|
|
|
|
|
+ updateEnable(args).then((response) => {
|
|
this.$message.success('终止成功');
|
|
this.$message.success('终止成功');
|
|
this.getList(this.page);
|
|
this.getList(this.page);
|
|
this.enableFlagDig = false;
|
|
this.enableFlagDig = false;
|
|
@@ -1924,7 +1938,7 @@ export default {
|
|
if (type === 'word') {
|
|
if (type === 'word') {
|
|
this.wordLoading = true;
|
|
this.wordLoading = true;
|
|
exportZbReport(obj)
|
|
exportZbReport(obj)
|
|
- .then(response => {
|
|
|
|
|
|
+ .then((response) => {
|
|
if (undefined == response.data || undefined == response.data.data) {
|
|
if (undefined == response.data || undefined == response.data.data) {
|
|
this.$message.error('导出失败');
|
|
this.$message.error('导出失败');
|
|
return false;
|
|
return false;
|
|
@@ -1940,7 +1954,7 @@ export default {
|
|
} else if (type === 'excel') {
|
|
} else if (type === 'excel') {
|
|
this.excelLoading = true;
|
|
this.excelLoading = true;
|
|
exportZbReportExcel(obj)
|
|
exportZbReportExcel(obj)
|
|
- .then(response => {
|
|
|
|
|
|
+ .then((response) => {
|
|
if (undefined == response.data || undefined == response.data.data) {
|
|
if (undefined == response.data || undefined == response.data.data) {
|
|
this.$message.error('导出失败');
|
|
this.$message.error('导出失败');
|
|
return false;
|
|
return false;
|
|
@@ -2020,7 +2034,7 @@ export default {
|
|
exportType: 2
|
|
exportType: 2
|
|
};
|
|
};
|
|
exportZbReport(obj)
|
|
exportZbReport(obj)
|
|
- .then(response => {
|
|
|
|
|
|
+ .then((response) => {
|
|
if (undefined == response.data || undefined == response.data.data) {
|
|
if (undefined == response.data || undefined == response.data.data) {
|
|
this.$message.error('导出失败');
|
|
this.$message.error('导出失败');
|
|
return false;
|
|
return false;
|
|
@@ -2080,9 +2094,9 @@ export default {
|
|
// this.taskTypes = row.taskTypes == null ? "无" : row.taskTypes;
|
|
// this.taskTypes = row.taskTypes == null ? "无" : row.taskTypes;
|
|
// this.taskTypedialog = true;
|
|
// this.taskTypedialog = true;
|
|
|
|
|
|
- selectByScorePackageId({id: row.id}).then(response => {
|
|
|
|
|
|
+ selectByScorePackageId({ id: row.id }).then((response) => {
|
|
this.taskTypes = response.data.data;
|
|
this.taskTypes = response.data.data;
|
|
- this.taskTypes.forEach(item => {
|
|
|
|
|
|
+ this.taskTypes.forEach((item) => {
|
|
item.code = plist[item.code];
|
|
item.code = plist[item.code];
|
|
});
|
|
});
|
|
this.taskTypedialog = true;
|
|
this.taskTypedialog = true;
|
|
@@ -2111,7 +2125,7 @@ export default {
|
|
},
|
|
},
|
|
//以下是结算的方法
|
|
//以下是结算的方法
|
|
getSummaries(param) {
|
|
getSummaries(param) {
|
|
- const {columns, data} = param;
|
|
|
|
|
|
+ const { columns, data } = param;
|
|
const sums = [];
|
|
const sums = [];
|
|
columns.forEach((column, index) => {
|
|
columns.forEach((column, index) => {
|
|
if (index === 0) {
|
|
if (index === 0) {
|
|
@@ -2119,8 +2133,8 @@ export default {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
if (index === 3 || index === 4) {
|
|
if (index === 3 || index === 4) {
|
|
- const values = data.map(item => Number(item[column.property]));
|
|
|
|
- if (!values.every(value => isNaN(value))) {
|
|
|
|
|
|
+ const values = data.map((item) => Number(item[column.property]));
|
|
|
|
+ if (!values.every((value) => isNaN(value))) {
|
|
sums[index] = values.reduce((prev, curr) => {
|
|
sums[index] = values.reduce((prev, curr) => {
|
|
const value = Number(curr);
|
|
const value = Number(curr);
|
|
if (!isNaN(value)) {
|
|
if (!isNaN(value)) {
|
|
@@ -2144,10 +2158,7 @@ export default {
|
|
value = value.replace(/[^\d.\-]/g, ''); //清除"数字"和"." "-"负号以外的字符
|
|
value = value.replace(/[^\d.\-]/g, ''); //清除"数字"和"." "-"负号以外的字符
|
|
value = value.replace(/^\./g, ''); //验证第一个字符是数字
|
|
value = value.replace(/^\./g, ''); //验证第一个字符是数字
|
|
value = value.replace(/\.{2,}/g, ''); //只保留第一个, 清除多余的
|
|
value = value.replace(/\.{2,}/g, ''); //只保留第一个, 清除多余的
|
|
- value = value
|
|
|
|
- .replace('.', '$#$')
|
|
|
|
- .replace(/\./g, '')
|
|
|
|
- .replace('$#$', '.');
|
|
|
|
|
|
+ value = value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
|
|
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
|
|
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
|
|
|
|
|
|
e.discount = value;
|
|
e.discount = value;
|
|
@@ -2170,10 +2181,7 @@ export default {
|
|
value = value.replace(/[^\d.\-]/g, ''); //清除"数字"和"." "-"负号以外的字符
|
|
value = value.replace(/[^\d.\-]/g, ''); //清除"数字"和"." "-"负号以外的字符
|
|
value = value.replace(/^\./g, ''); //验证第一个字符是数字
|
|
value = value.replace(/^\./g, ''); //验证第一个字符是数字
|
|
value = value.replace(/\.{2,}/g, ''); //只保留第一个, 清除多余的
|
|
value = value.replace(/\.{2,}/g, ''); //只保留第一个, 清除多余的
|
|
- value = value
|
|
|
|
- .replace('.', '$#$')
|
|
|
|
- .replace(/\./g, '')
|
|
|
|
- .replace('$#$', '.');
|
|
|
|
|
|
+ value = value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
|
|
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
|
|
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
|
|
// if (Number(value) > 2) {
|
|
// if (Number(value) > 2) {
|
|
// e.discount = 1
|
|
// e.discount = 1
|
|
@@ -2195,10 +2203,7 @@ export default {
|
|
if (value) {
|
|
if (value) {
|
|
value = value.replace(/[^\d.\-]/g, ''); //清除"数字"和"." "-"负号以外的字符
|
|
value = value.replace(/[^\d.\-]/g, ''); //清除"数字"和"." "-"负号以外的字符
|
|
value = value.replace(/\.{2,}/g, ''); //只保留第一个, 清除多余的
|
|
value = value.replace(/\.{2,}/g, ''); //只保留第一个, 清除多余的
|
|
- value = value
|
|
|
|
- .replace('.', '$#$')
|
|
|
|
- .replace(/\./g, '')
|
|
|
|
- .replace('$#$', '.');
|
|
|
|
|
|
+ value = value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
|
|
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
|
|
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
|
|
|
|
|
|
let total = Number(this.score) * 1.2;
|
|
let total = Number(this.score) * 1.2;
|
|
@@ -2231,10 +2236,7 @@ export default {
|
|
let value = e.settleAmount;
|
|
let value = e.settleAmount;
|
|
value = value.replace(/[^\d.\-]/g, ''); //清除"数字"和"." "-"负号以外的字符
|
|
value = value.replace(/[^\d.\-]/g, ''); //清除"数字"和"." "-"负号以外的字符
|
|
value = value.replace(/\.{2,}/g, ''); //只保留第一个, 清除多余的
|
|
value = value.replace(/\.{2,}/g, ''); //只保留第一个, 清除多余的
|
|
- value = value
|
|
|
|
- .replace('.', '$#$')
|
|
|
|
- .replace(/\./g, '')
|
|
|
|
- .replace('$#$', '.');
|
|
|
|
|
|
+ value = value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
|
|
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
|
|
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
|
|
let discount = 0;
|
|
let discount = 0;
|
|
let actualAmount = 0;
|
|
let actualAmount = 0;
|
|
@@ -2252,10 +2254,7 @@ export default {
|
|
let value = e.actualAmount;
|
|
let value = e.actualAmount;
|
|
value = value.replace(/[^\d.\-]/g, ''); //清除"数字"和"." "-"负号以外的字符
|
|
value = value.replace(/[^\d.\-]/g, ''); //清除"数字"和"." "-"负号以外的字符
|
|
value = value.replace(/\.{2,}/g, ''); //只保留第一个, 清除多余的
|
|
value = value.replace(/\.{2,}/g, ''); //只保留第一个, 清除多余的
|
|
- value = value
|
|
|
|
- .replace('.', '$#$')
|
|
|
|
- .replace(/\./g, '')
|
|
|
|
- .replace('$#$', '.');
|
|
|
|
|
|
+ value = value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
|
|
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
|
|
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
|
|
let settleAmount = 0;
|
|
let settleAmount = 0;
|
|
let discount = 0;
|
|
let discount = 0;
|
|
@@ -2274,10 +2273,7 @@ export default {
|
|
let value = e.actualAmount;
|
|
let value = e.actualAmount;
|
|
value = value.replace(/[^\d.\-]/g, ''); //清除"数字"和"." "-"负号以外的字符
|
|
value = value.replace(/[^\d.\-]/g, ''); //清除"数字"和"." "-"负号以外的字符
|
|
value = value.replace(/\.{2,}/g, ''); //只保留第一个, 清除多余的
|
|
value = value.replace(/\.{2,}/g, ''); //只保留第一个, 清除多余的
|
|
- value = value
|
|
|
|
- .replace('.', '$#$')
|
|
|
|
- .replace(/\./g, '')
|
|
|
|
- .replace('$#$', '.');
|
|
|
|
|
|
+ value = value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
|
|
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
|
|
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
|
|
let settleAmount = 0;
|
|
let settleAmount = 0;
|
|
let discount = 0;
|
|
let discount = 0;
|
|
@@ -2302,7 +2298,7 @@ export default {
|
|
id: id
|
|
id: id
|
|
};
|
|
};
|
|
settleReIssue(args)
|
|
settleReIssue(args)
|
|
- .then(response => {
|
|
|
|
|
|
+ .then((response) => {
|
|
this.$message.warning(response.data.msg);
|
|
this.$message.warning(response.data.msg);
|
|
this.buttonLoading = false;
|
|
this.buttonLoading = false;
|
|
})
|
|
})
|
|
@@ -2324,7 +2320,7 @@ export default {
|
|
this.$message.error('数据异常');
|
|
this.$message.error('数据异常');
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- this.$refs['form'].validate(valid => {
|
|
|
|
|
|
+ this.$refs['form'].validate((valid) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
for (var i = 0; i < this.gridData.length; i++) {
|
|
for (var i = 0; i < this.gridData.length; i++) {
|
|
const item = this.gridData[i];
|
|
const item = this.gridData[i];
|
|
@@ -2349,7 +2345,7 @@ export default {
|
|
}
|
|
}
|
|
this.buttonLoading = true;
|
|
this.buttonLoading = true;
|
|
settleSave(args)
|
|
settleSave(args)
|
|
- .then(response => {
|
|
|
|
|
|
+ .then((response) => {
|
|
if (response.data.code === 0) {
|
|
if (response.data.code === 0) {
|
|
this.$message.success('保存成功');
|
|
this.$message.success('保存成功');
|
|
//this.$message.success("提交结算申请结算成功");
|
|
//this.$message.success("提交结算申请结算成功");
|
|
@@ -2369,7 +2365,7 @@ export default {
|
|
this.$message.error('数据异常');
|
|
this.$message.error('数据异常');
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- this.$refs['form'].validate(valid => {
|
|
|
|
|
|
+ this.$refs['form'].validate((valid) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
for (var i = 0; i < this.gridData.length; i++) {
|
|
for (var i = 0; i < this.gridData.length; i++) {
|
|
const item = this.gridData[i];
|
|
const item = this.gridData[i];
|
|
@@ -2394,7 +2390,7 @@ export default {
|
|
}
|
|
}
|
|
this.buttonLoading = true;
|
|
this.buttonLoading = true;
|
|
settleSubmit(args)
|
|
settleSubmit(args)
|
|
- .then(response => {
|
|
|
|
|
|
+ .then((response) => {
|
|
if (response.data.code === 0) {
|
|
if (response.data.code === 0) {
|
|
this.$message.success('提交成功');
|
|
this.$message.success('提交成功');
|
|
}
|
|
}
|
|
@@ -2419,12 +2415,12 @@ export default {
|
|
//获取并存储服务器返回的AuthorizationToken信息
|
|
//获取并存储服务器返回的AuthorizationToken信息
|
|
// 发送下载报表请求
|
|
// 发送下载报表请求
|
|
console.log('发送下载报表请求');
|
|
console.log('发送下载报表请求');
|
|
- let param = {fileName: 'batch_create_score_package_template.xlsx'};
|
|
|
|
|
|
+ let param = { fileName: 'batch_create_score_package_template.xlsx' };
|
|
axios
|
|
axios
|
|
.post('/admin/template-file/download', param, {
|
|
.post('/admin/template-file/download', param, {
|
|
responseType: 'arraybuffer'
|
|
responseType: 'arraybuffer'
|
|
})
|
|
})
|
|
- .then(res => {
|
|
|
|
|
|
+ .then((res) => {
|
|
fileDownload(res.data, '批量创建积分包模板.xlsx');
|
|
fileDownload(res.data, '批量创建积分包模板.xlsx');
|
|
this.$message.success('下载模板成功');
|
|
this.$message.success('下载模板成功');
|
|
});
|
|
});
|
|
@@ -2468,6 +2464,38 @@ export default {
|
|
submitUpload(row) {
|
|
submitUpload(row) {
|
|
// 开始上传按钮
|
|
// 开始上传按钮
|
|
this.$refs.upload.submit(row);
|
|
this.$refs.upload.submit(row);
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ async getUserV2List() {
|
|
|
|
+ const res = await getUserV2ListApi();
|
|
|
|
+ if (res.data.code === 0) {
|
|
|
|
+ this.userV2List = res.data.data;
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ handoverClose() {
|
|
|
|
+ this.handoverForm.ownerId = '';
|
|
|
|
+ this.handoverDialog = false;
|
|
|
|
+ },
|
|
|
|
+ handoverFn(row) {
|
|
|
|
+ this.currentInfo = row;
|
|
|
|
+ this.handoverDialog = true;
|
|
|
|
+ },
|
|
|
|
+ handoverSubmit() {
|
|
|
|
+ this.$refs.handoverFormRef.validate(async (valid) => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ const obj = {
|
|
|
|
+ packageStatusId: this.currentInfo?.packageStatusList[0]?.id,
|
|
|
|
+ ownerId: this.handoverForm.ownerId
|
|
|
|
+ };
|
|
|
|
+ const res = await pkgOwnerReplaceApi(obj);
|
|
|
|
+ if (res.data.code === 0) {
|
|
|
|
+ this.$message.success('操作成功');
|
|
|
|
+ this.getList(this.page);
|
|
|
|
+ this.handoverDialog = false;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
};
|
|
@@ -2610,4 +2638,11 @@ export default {
|
|
text-align: center;
|
|
text-align: center;
|
|
margin-top: 10px;
|
|
margin-top: 10px;
|
|
}
|
|
}
|
|
|
|
+.handover-tips {
|
|
|
|
+ font-size: 18px;
|
|
|
|
+ color: red;
|
|
|
|
+ text-align: center;
|
|
|
|
+ font-weight: 600;
|
|
|
|
+ margin-bottom: 20px;
|
|
|
|
+}
|
|
</style>
|
|
</style>
|