123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427 |
- <template>
- <div class="goreport">
- <div class="form gaisideshurukuang">
- <uni-forms
- ref="baseForm"
- style="font-size: 26rpx"
- :modelValue="form"
- label-width="170rpx"
- >
- <uni-forms-item
- label="走访公司"
- class="mt42rpx pd42rpx border_bottom_ccc"
- >
- <div
- @click="chosseAboutCompany()"
- style="height: 73rpx; line-height: 73rpx"
- >
- <picker
- style="float: left; width: 440rpx; height: 40rpx; color: #777"
- @change="getCompany"
- range-key="label"
- :range="companyAllList"
- >
- {{
- !form.companyId
- ? "请选择走访公司"
- : companyAllList[form.companyIndex].label
- }}
- </picker>
- </div>
- </uni-forms-item>
- <uni-forms-item
- label="走访时间:"
- class="mt42rpx pd42rpx border_bottom_ccc"
- >
- <div style="height: 73rpx; line-height: 73rpx">
- <picker
- style="float: left; width: 100%; height: 40rpx; color: #777"
- mode="date"
- :value="form.interviewTime"
- @change="getInterviewTime"
- >
- {{ !form.interviewTime ? "请选择走访时间" : form.interviewTime }}
- </picker>
- </div>
- </uni-forms-item>
- <uni-forms-item
- label="走访类型:"
- class="mt42rpx pd42rpx border_bottom_ccc"
- >
- <div style="height: 73rpx; line-height: 73rpx">
- <picker
- style="float: left; width: 100%; height: 40rpx; color: #777"
- :range="dic_SelectList.interviewType"
- :value="0"
- @change="bindPickerChange"
- range-key="label"
- >
- {{
- !form.interviewType
- ? "请选择"
- : dic_SelectList.interviewType[form.interviewTypeIndex].label
- }}
- </picker>
- </div>
- </uni-forms-item>
- <uni-forms-item
- label="是否需要处理"
- class="mt42rpx pd42rpx border_bottom_ccc"
- >
- <div style="height: 73rpx; line-height: 73rpx; width: 100%">
- <span style="color: #777" v-if="form.isStatus == 2">是</span>
- <span style="color: #777" v-if="form.isStatus == 1">否</span>
- </div>
- </uni-forms-item>
- </uni-forms>
- </div>
- <div class="form zoufangjilu" style="margin-bottom: 146rpx">
- <van-row>
- <van-col :span="24"> 走访记录 </van-col>
- <van-col :span="24">
- <div class="margint16rpx">
- <uni-easyinput
- type="textarea"
- inputBorder
- class="textarea_info"
- style="margin-top: 16rpx"
- v-model="form.interviewRecord"
- placeholder="请输入"
- />
- </div>
- </van-col>
- </van-row>
- <uni-forms
- v-if="form.isStatus != 1"
- ref="baseForm"
- style="font-size: 26rpx"
- :modelValue="form"
- label-width="170rpx"
- >
- <uni-forms-item
- label="处理人"
- class="mt42rpx mb42rpx border_bottom_ccc"
- >
- <div style="height: 73rpx; line-height: 73rpx; width: 100%">
- <input
- v-model="form.handleUserName"
- style="
- height: 73rpx;
- line-height: 73rpx;
- width: 100%;
- color: #777;
- "
- />
- <!-- <span style="color: #777">{{ form.handleUserName }}</span> -->
- </div>
- </uni-forms-item>
- <div style="margin-top: 16rpx">
- <van-row>
- <van-col :span="24" style="margin-top: 15rpx"> 处理结果 </van-col>
- <van-col :span="24">
- <div class="margint16rpx">
- <uni-easyinput
- type="textarea"
- inputBorder
- class="textarea_info"
- style="margin-top: 16rpx"
- v-model="form.handleResult"
- placeholder="请输入"
- />
- </div>
- </van-col>
- </van-row>
- </div>
- <uni-forms-item
- label="处理时间"
- class="mt42rpx pd42rpx border_bottom_ccc"
- >
- <div style="height: 73rpx; line-height: 73rpx; width: 100%">
- <span style="color: #777">{{ form.handleTime }}</span>
- </div>
- </uni-forms-item>
- </uni-forms>
- </div>
- <!-- <multiple-select
- v-model="show"
- model="false"
- :all-show="false"
- :data="companyAllList"
- :default-selected="defaultSelected"
- @confirm="confirm"
- ></multiple-select> -->
- <view class="btn-view">
- <button
- class="btn"
- @click="dialogInputConfirm()"
- style="margin-left: 10rpx"
- >
- 编辑完成
- </button>
- </view>
- </div>
- </template>
-
- <script>
- import multipleSelect from "../../../subPackages/components/momo-multipleSelect/momo-multipleSelect";
- import {
- getByCodes,
- addInterview,
- getBySaveStatus,
- editInterview,
- getCompanyAll,
- getInterviewDetails,
- } from "@/js_sdk/http.js";
- import vanRow from "../../../wxcomponents/weapp/dist/row";
- import vanCol from "../../../wxcomponents/weapp/dist/col";
- // import { findYuanQuList } from "@/js_sdk/http.js";
- const form = {
- id: null,
- isStatus: null,
- interviewTime: null,
- interviewType: null,
- interviewTypeIndex: null,
- companyId: null,
- companyIndex: null,
- projectType: "",
- interviewRecord: "",
- associationCompanyString: [],
- };
- export default {
- components: {
- vanRow,
- vanCol,
- multipleSelect,
- },
- data() {
- return {
- id: "",
- isStatus: 2,
- range: [
- { value: 2, text: "是" },
- { value: 1, text: "否" },
- ],
- defaultSelected: [],
- dic_key: ["interviewType"],
- dic_SelectList: {},
- companyIndex: null,
- companyAllList: [],
- defaultSelected: [],
- show: false,
- active: 0,
- form: { ...form },
- index: 0,
- };
- },
- onLoad: function (option) {
- this.getCompanyAll();
- this.id = option.id; //打印出上个页面传递的参数。\
- this.getByCodes();
- },
- methods: {
- async dialogInputConfirm() {
- let data = await editInterview({ ...this.form });
- if (data.code == 200) {
- this.$showToast("修改成功");
- uni.navigateBack({});
- }
- },
- async getInterviewDetails() {
- let detail = await getInterviewDetails(this.id);
- this.form = detail;
- this.getCompanyIdByApiList({ companyId: detail.companyId });
- this.getInterviewLableByApiList({
- interviewType: this.form.interviewType,
- });
- this.form.isStatus = detail.isStatus;
- },
- getCompanyIdByApiList(params) {
- this.form.companyId = params.companyId;
- let companyIndex = this.companyAllList.findIndex(
- (e) => e.value == params.companyId
- );
- this.form.companyIndex = companyIndex;
- },
- getInterviewLableByApiList(params) {
- let interviewTypeIndex = this.dic_SelectList.interviewType.findIndex(
- (e) => e.value == params.interviewType
- );
- this.form.interviewType =
- this.dic_SelectList.interviewType[interviewTypeIndex].value;
- this.form.interviewTypeIndex = interviewTypeIndex;
- },
- getInterviewTime(e) {
- this.form.interviewTime = e.detail.value;
- },
- async takeParamsGoBack(e) {
- const token = uni.getStorageSync("laocui_user_info");
- let data;
- if (this.form.id) {
- data = await editInterview({
- ...this.form,
- status: e,
- createdBy: JSON.parse(token).user.id,
- });
- } else {
- if (this.form.companyId == null) {
- return this.$showToast("请选择走访公司");
- }
- if (this.form.interviewTime == null || this.form.interviewTime == "") {
- return this.$showToast("请选择走访时间");
- }
- if (this.form.interviewType == null) {
- return this.$showToast("请选择走访类型");
- }
- if (this.form.isStatus == null) {
- return this.$showToast("请选择是否需要处理");
- }
- data = await addInterview({
- ...this.form,
- status: e,
- createdBy: JSON.parse(token).user.id,
- });
- }
- if (data.code == 200) {
- if (e == 1) {
- this.$emit("changeActive");
- this.$showToast("提交成功");
- this.form = { ...form };
- }
- if (e == 0) {
- this.$showToast("保存成功");
- }
- }
- },
- getCompany(e) {
- this.form.companyIndex = e.detail.value;
- this.form.companyId = this.companyAllList[e.detail.value].value;
- },
- chosseAboutCompany() {
- this.show = true;
- },
- async getCompanyAll() {
- let companyAllList = await getCompanyAll();
- this.getInterviewDetails();
- this.companyAllList = companyAllList.map((e) => {
- return {
- label: e.qymc,
- value: e.id,
- };
- });
- },
- async getByCodes() {
- let data = await getByCodes(JSON.stringify(this.dic_key));
- this.dic_SelectList = this.$common.handleDicList(data);
- },
- confirm(e) {
- let associationCompanyString = [];
- let associationCompany = [];
- for (var p in e) {
- associationCompanyString.push(e[p].label);
- associationCompany.push(e[p].value);
- }
- this.form.associationCompanyString = associationCompanyString.join(",");
- this.form.associationCompany = associationCompany.join(",");
- },
- bindPickerChange(e) {
- this.form.interviewTypeIndex = e.detail.value;
- this.form.interviewType =
- this.dic_SelectList.interviewType[e.detail.value].value;
- },
- },
- // onLoad: function (){
- // this.$refs.findYuanQuList()
- // },
- };
- </script>
-
- <style lang="scss">
- .gaisideshurukuang {
- .btn-view {
- width: 100%;
- height: 100rpx;
- padding: 20rpx 10%;
- background-color: #ffffff;
- position: fixed;
- bottom: 0;
- left: 0;
- }
- .btn {
- width: 80%;
- height: 90rpx;
- border-radius: 50rpx 50rpx 50rpx 50rpx;
- background: #1d18bc;
- line-height: 90rpx;
- color: white;
- }
- font-size: 26rpx !important;
- .is-input-border {
- border-top: none !important;
- border-left: none !important;
- border-right: none !important;
- border: none;
- border-radius: 0 !important;
- }
- .uni-forms-item {
- margin-bottom: 0px;
- border-bottom: 2rpx solid #cccccc !important;
- }
- }
- .btn-view {
- width: 100%;
- height: 100rpx;
- padding: 20rpx 10%;
- background-color: #ffffff;
- position: fixed;
- bottom: 0;
- left: 0;
- }
- .btn {
- width: 80%;
- height: 90rpx;
- border-radius: 50rpx 50rpx 50rpx 50rpx;
- background: #1d18bc;
- line-height: 90rpx;
- color: white;
- }
- .goreport {
- .uni-forms-item {
- margin-bottom: 0px;
- border-bottom: 2rpx solid #cccccc !important;
- }
- .textarea_info {
- textarea {
- background: #f9f9f9;
- }
- }
- .is-disabled {
- background: white !important;
- color: #777;
- }
- .form {
- width: calc(100% - 128rpx);
- margin: 32rpx;
- background: #ffffff;
- padding: 32rpx;
- .label {
- height: 53rpx;
- line-height: 53rpx;
- }
- .is-input-border {
- }
- .uni-forms-item {
- border-bottom: 2rpx solid #cccccc !important;
- }
- }
- }
- </style>
-
|